數據說話,88000條數據繪制北京市地圖

偶獲得一批數據,本著好玩的態度繪制下來看看到底是什么鬼,繪制的結果如下:

呵呵,什么都不像。而且中間最重要的部分因數據量過大繪制的已經看不清楚了。于是乎,縮小繪制范圍,去除周圍沒有用的數據。重新繪制結果如下:

呵呵,北京市地圖。有點像,大家可以唱五環之歌了。。。

再來一張只有邊沒有點的,會清晰一點。

嗯。。。不錯。。。

繪制代碼如下:

var xhrNode = new XMLHttpRequest();
xhrNode.onreadystatechange = function() {if(xhrNode.readyState == 4) {if((xhrNode.status >= 200 && xhrNode.status < 300) || xhrNode.status == 304) {drawNode(xhrNode.responseText);}else {alert('hehe');}}
}
xhrNode.open("get",'ReadFile.php',false);
xhrNode.send(null);function drawNode(paths) {var pathArr = paths.split(','),    i,len,perpath,cs = document.getElementById('cs');var context = cs.getContext("2d");context.beginPath();for(i = 0,len = pathArr.length;i < len;i++) {perpath = pathArr[i].trim().split(' ');context.moveTo(parseInt(perpath[1]),parseInt(perpath[2]));if(parseInt(perpath[0]) === 0) {context.arc(parseInt(perpath[1]),parseInt(perpath[2]),7,0,2*Math.PI,false);context.fill();context.fillText(parseInt(perpath[0]),parseInt(perpath[1]) + 8,parseInt(perpath[2]) + 8);}else {context.arc(parseInt(perpath[1]),parseInt(perpath[2]),1,0,2*Math.PI,false);if(parseInt(perpath[3]) != -1) {context.fillText(parseInt(perpath[0]),parseInt(perpath[1]) - 4,parseInt(perpath[2]) + 4);context.fillText(parseInt(perpath[3]),parseInt(perpath[4]) - 4,parseInt(perpath[5]) + 4);context.arc(parseInt(perpath[4]),parseInt(perpath[5]),1,0,2*Math.PI,false);}}}context.stroke();
}

?

canvas確實很有意思,但是對于瀏覽器來說數據量一大,就會出問題了(卡的不行)。所以,當數據達到幾十萬甚至上百萬千萬的時候還是用“萬能“的c語言繪制比較好。。。

?

以上

轉載于:https://www.cnblogs.com/MarcoHan/p/5475926.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257213.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257213.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257213.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我的第一個python web開發框架(11)——工具函數包說明(二)

db_helper.py是數據庫操作包&#xff0c;主要有兩個函數&#xff0c;分別是read()數據庫讀操作函數和write()數據庫寫操作函數。這個包的代碼是從小戴同學分享的博文改造過來的。 1 #!/usr/bin/env python2 # codingutf-83 4 import psycopg25 from common import log_helper6 …

ASP.NET:在一般處理程序中通過 Session 保存驗證碼卻無法顯示圖片?

1 using System.Drawing;2 using System.Web;3 using System.Web.SessionState;4 5 /// <summary>6 /// CaptchaHandler 的摘要說明7 /// </summary>8 public class CaptchaHandler : IHttpHandler, IRequiresSessionState  //簡記&#xff1a;我需要Session9 { …

[LINK]用Python計算昨天、今天和明天的日期時間

用Python計算昨天、今天和明天的日期時間 轉載于:https://www.cnblogs.com/Athrun/p/5477651.html

Windows系統下oracle數據庫每天定時備份

第一步&#xff1a;建立備份腳本oraclebackup.bat 首先建立一個備份bat文件&#xff0c;在D盤下新建備份目錄oraclebackup&#xff0c;將oracle安裝目錄下的EXP.EXE復制到此目錄下&#xff0c;再新建一個文本文件oraclebackup.txt&#xff0c;內容如下&#xff1a; echo off ec…

面試題3:二維數組查找

1 bool Find(const int *matrix, int rows, int columns, int number)2 {3 int key;4 int indexRow;5 int indexCol;6 7 /*合法性檢查*/8 if((NULL matrix)||(rows < 0)||(columns <0))9 { 10 return false; 11 } 12 13 /*提升…

linux crontab 命令

#method 1 crontab -e crontab -u root -e #不同用戶自己的任務計劃 crontab -l#method 2 vim /etc/crontab# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .--…

[譯] RNN 循環神經網絡系列 2:文本分類

原文地址&#xff1a;RECURRENT NEURAL NETWORKS (RNN) – PART 2: TEXT CLASSIFICATION原文作者&#xff1a;GokuMohandas譯文出自&#xff1a;掘金翻譯計劃本文永久鏈接&#xff1a;github.com/xitu/gold-m…譯者&#xff1a;Changkun Ou校對者&#xff1a;yanqiangmiffy, To…

[置頂] Android開發者官方網站文檔 - 國內踏得網鏡像

Mark 一下&#xff1a; 鏡像地址&#xff1a;http://wear.techbrood.com/index.html Android DevelopTools: http://www.androiddevtools.cn/ 轉載于:https://www.cnblogs.com/superle/p/4561856.html

Java實現選擇排序

選擇排序思想就是選出最小或最大的數與第一個數交換&#xff0c;然后在剩下的數列中重復完成該動作。 package Sort;import java.util.Arrays;public class SelectionSort {public static int selectMinKey(int[] list, int beginIdx) {int idx beginIdx;int temp list[begin…

ASP.NET MVC中ViewData、ViewBag和TempData

1.ViewData 1.1 ViewData繼承了IDictionary<string, object>,因此在設置ViewData屬性時,傳入key必須要字符串型別,value可以是任意類型。 1.2 ViewData它只會存在這次的HTTP要求而已,而不像Session可以將數據帶到下HTTP要求。 public class TestController : Controller{…

java 正則表達式驗證郵箱格式是否合規 以及 正則表達式元字符

package com.ykmimi.testtest; /*** 測試郵箱地址是否合規* author ukyor**/ public class EmailTest {public static void main(String[] args) {//定義要匹配的Email地址的正則表達式//其中\w代表可用作標識符的字符,不包括$. \w表示多個// \\.\\w表示點.后面有\w 括號{2,3}…

鏡頭選型

景深&#xff1a; 光圈越大&#xff0c;光圈值越小&#xff0c;景深越小 光圈越小&#xff0c;光圈值越大&#xff0c;景深越深 焦距越長&#xff0c;視角越小&#xff0c;主體像越大&#xff0c;景深越小 主體越近&#xff0c;景深越小

迅雷賬號

賬號 jiangchnangli:1 密碼 892812 網址 http://www.s8song.net/read-htm-tid-4906661.html漫晴xydcq7681轉載于:https://www.cnblogs.com/wlzhang/p/4563118.html

【Swift學習】Swift編程之旅---ARC(二十)

Swift使用自動引用計數(ARC)來跟蹤并管理應用使用的內存。大部分情況下&#xff0c;這意味著在Swift語言中&#xff0c;內存管理"仍然工作"&#xff0c;不需要自己去考慮內存管理的事情。當實例不再被使用時&#xff0c;ARC會自動釋放這些類的實例所占用的內存。然而…

像元大小及精度

說完了光學系統的分辨率之后我們來看看相機的圖像分辨率。圖像分辨率比較好理解&#xff0c;就是單位距離內的像用多少個像素來顯示。以我們的ORCA-Flash4.0為例&#xff0c;芯片的像元大小為 6.5 μm&#xff0c;在 40X物鏡的放大倍率下&#xff0c;1 μm的物經光學系統放大為…

轉:傳入的表格格式數據流(TDS)遠程過程調用(RPC)協議流不正確 .

近期在做淘寶客的項目&#xff0c;大家都知道&#xff0c;淘寶的商品詳細描述字符長度很大&#xff0c;所以就導致了今天出現了一個問題 VS的報錯是這樣子的 ” 傳入的表格格式數據流(TDS)遠程過程調用(RPC)協議流不正確“ 還說某個desricption 過長之類的話 直覺告訴我&#…

合并bin文件-----帶boot發布版本比較好用的bat(便捷版)

直接上圖上代碼&#xff08;代碼在結尾&#xff09;&#xff0c;有不會用的可以留言&#xff1a; 第一步&#xff1a;工程介紹&#xff0c;關鍵點--- 1.bat文件放所在app和boot工程的同級目錄下 2.release為運行bat自動生成文件夾 第二步&#xff1a;合版.bat 針對具體項目需…

第五天 斷點續傳和下載

1 斷點續傳&#xff0c; 2.多線程下載原理 3.httpUtils 多線程斷點下載的使用。 ------------- 1.拿到需要下載的文件的大小&#xff0c;和需要初始的線程數 2.得到每個線程需要下載的大小&#xff0c;最后一個線程負責將剩下的數據全部下載。 3.同時需要設置一個與下載文件同大…

關于cmake從GitHub上下載的源碼啟動時報錯的問題

關于cmake從GitHub上下載的源碼啟動時報錯的問題&#xff1a; 由于cmake會產生all_build和zero_check兩個project&#xff0c;此時需要右擊鼠標將需要運行的項目設為啟動項&#xff0c;在進行編譯&#xff0c;現只針對“找不到all_build文件“的出錯信息&#xff0c;若有相關編…

一個人的Scrum之準備工作

在2012年里&#xff0c;我想自己一人去實踐一下Scrum&#xff0c;所以才有了這么一個開篇。 最近看了《輕松的Scrum之旅》這本書&#xff0c;感覺對我非常有益。書中像講述故事一樣描述了在執行Scrum過程中的點點滴滴&#xff0c; 仿佛我也跟著進行了一次成功的Scrum。同樣的&a…