日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据说话,88000条数据绘制北京市地图

發(fā)布時間:2023/12/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据说话,88000条数据绘制北京市地图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

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

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

嗯。。。不錯。。。

繪制代碼如下:

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

總結

以上是生活随笔為你收集整理的数据说话,88000条数据绘制北京市地图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。