999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GeoJSON和HTML5 Canvas的WebGIS應用研究

2017-12-28 15:32:03陳吉輝
無線互聯科技 2017年21期
關鍵詞:分析系統

陳吉輝

(電子科技大學成都學院,四川 成都 611731)

基于GeoJSON和HTML5 Canvas的WebGIS應用研究

陳吉輝

(電子科技大學成都學院,四川 成都 611731)

信息管理系統或者監控系統,有時需要運用地理信息系統的部分功能,而建立一套完整的GIS系統需要較大的資金和技術投入。文章基于HTML5 Canvas技術,分析了GeoJSON的數據結構,實現了地圖數據在Web平臺上的應用,其具有跨平臺、輕量和響應快的特點。

GeoJSON;HTML5 Canvas;WebGIS

1 GIS系統現狀

近些年來,地理信息系統(Geographic Information System,GIS)得到了廣泛的應用,比如網約車、導航應用、外賣等,一些傳統的信息管理系統和監控系統,也融入了GIS系統的部分功能,以地圖為基礎來進行信息展示,獲得更好的人機交互體驗。

而建立一套完整的GIS系統,需要以商業的GIS平臺軟件為支撐,比如ArcGIS,或者租用網絡GIS平臺,利用其提供的應用程序界面(Application Program Interface,API)來做二次開發,這意味著較大的資金和人力投入,對于很多系統來講,往往只需要GIS系統的部分功能,如地圖顯示、漫游、標注等基本功能。

本文通過對GeoJSON的格式分析,結合HTML5 Canvas技術,實現了一個輕量級的WebGIS中間件對象,可以很方便地嵌入到WEB應用中。

2 GeoJSON格式分析

GeoJSON是一種對各種地理數據結構進行編碼的格式[1],基于Javascript對象表示法的地理空間信息數據交換格式,它支持開放地理信息系統協會(Open GIS Consortium,OGC)定義的以下幾種幾何類型:Point,LineString,Polygon,MultiPoint,MultiLineString,MultiPolygon和GeometryCollection。任何OGC標準下的地理數據類型都可以方便地通過GeoJSON進行描述。

GeoJSON的主要對象描述[2]如下。

點:

{ “type”: “Point”, “coordinates”: [101.0, 102.0] }

線 LineString:

{ “type”: “LineString”,

“coordinates”: [ [101.0, 1.0], [102.0, 2.0] ]

}

面:

{ “type”: “Polygon”,“coordinates”:

[ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0],[100.0, 0.0] ] ]

}

多點:

{ “type”: “MultiPoint”,“coordinates”: [ [100.0, 0.0],[101.0, 1.0] ]

}

多線 MultiLineString:

{ “type”: “MultiLineString”,“coordinates”: [

[ [100.0, 0.0], [101.0, 1.0] ],

[ [102.0, 2.0], [103.0, 3.0] ] ]

}

多面:

{ “type”: “MultiPolygon”,“coordinates”: [

[[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0],[102.0, 2.0]]],

[[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0],[100.0, 0.0]],

[[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8],[100.2, 0.2] ] ] ]

}

空間對象集合:

{ “type”: “GeometryCollection”,

“geometries”: [

{ “type”: “Point”, “coordinates”: [100.0, 0.0] },

{ “type”: “LineString”,“coordinates”: [ [101.0, 0.0],[102.0, 1.0] ] }

]

}

對象集合:

{“name”:“subway_point”,“type”:“FeatureCollecti on”,

“features”:[

{“type”:“Feature”,“geometry”:{“type”:“Point”,“coordinates”:[116.189086914,39.938293]},

“properties”:{“OBJECTID”:1}}

,{“type”:“Feature”,“geometry”:{“type”:“Point”,“coordinates”:[116.197875976,39.9296]},“properties”:{“OBJECTID”:2}}]

}

分析其結構組成,可以發現,針對多點、多線、多面、集合對象在處理時都可以拆解為單個的點、線、面進行處理。

3 HTML5 Canvas繪制地圖

HTML5 canvas 是一個原生HTML繪圖簿,用于JavaScript代碼,不使用第三方工具。canvas已經可以在幾乎所有現代瀏覽器上良好運行了。HTML5提供了Canvas API,可以通過JavaScript在瀏覽器不依賴任何插件的情況下高效地繪制動態圖形。

通用上一節對GeoJSON格式分析,地圖信息都可以拆解為單個的點、線、面來進行處理,相應的我們需要在應用開發中,通過JavaScript來實現這些基本操作,Canvas API的使用比較簡單,繪圖工作由JavaScript完成。其工作過程如下。

定義Canvas元素:

Var extra_canvas=document.createElement(‘canvas’);得到Canvas畫布對象:

Var Canvas = extra_canvas.getContext(‘2d’);

然后就可以使用API提供的路徑繪制函數,如beginPath開始繪制,moveTo,lineTo繪制直線,fill,stroke進行填充或者設置邊框,最后closePath結束圖形繪制。Canvas的路徑操作能充分滿足矢量數據中的點要素、線要素、面要素以及符號的表達要求。

HTML5 Canvas畫點和線:

function DrawPoint(Canvas, Point){

with (Canvas)

{

moveTo(Point[0], Point [1]);

lineTo(Point [0]+1, Point [1]+1);

}}

HTML5 Canvas畫面:

function DrawPolygon(Canvas,Poly)

{

with (Canvas)

{

beginPath();

moveTo(Poly[0].x,Poly[0].y);

for(var i=0;ilt;Poly.length;i++)

l i n e T o(P o l y[i].

x,Poly[i].y);

stroke();

}

}

4 GeoJSON數據的獲取及繪制流程

JSON 文件被放置在服務器端,客戶端請求該文件使用Ajax異步請求[3]。

var jsondata = CreateXHR();

jsondata.open(quot;GETquot;,quot;test.jsonquot;,true);//服務器端有一個文件test.json,請求并輸出。

jsondata.send();

jsondata.onreadystatechange = function(){

if(jsondata.readyState == 4 amp;amp; jsondata.status ==200){

var jsonstr = jsondata.responseText;

console.log(jsonstr);

}

}

從服務器獲取GeoJSON數據后,其被轉化為JavaScript對象jsonstr,根據jsonstr的信息,經過坐標轉換后,調用Canvas畫圖功能來實現繪圖和地圖的顯示。

5 結語

傳統GIS的體系結構是封閉的,而Web的本質特征就是其開放性,因此WebGIS的體系結構應該具備開放、互操作、可升級、可擴展的特性。本文通過對GeoJSON的格式分析,結合HTML5 Canvas與JavaScript技術,無需復雜的GeoServer,為實現WebGIS提供了一種簡單易行的方案。

[1]GeoJSON.The GeoJSON Specification (RFC 7946)[EB/OL].(2017-07-22)[2017-10-24].http://geojson.org.

[2]Wikipedia.GeoJSON[EB/OL].(2017-10-20)[2017-10-24].https://en.wikipedia.org/wiki/GeoJSON.

[3]徐卓揆.基于HTML5、Ajax和Web Service的WebGIS研究[J].測繪科學,2012(1):145-147.

Research on application of WebGIS based on GeoJSON and HTML5 Canvas

陳吉輝(1966— ),女,四川自貢人,高級工程師,副教授,學士;研究方向:計算應用,航空電子。

Chen Jihui
(Chengdu College of University of Electronic Science and Technology of China, Chengdu 611731, China)

Information management system or monitoring system, sometimes need to use some of the functions of geographic information system, and establishing a complete GIS system requires greater funding and technical input. Based on HTML5 Canvas technology, this article analyzes the GeoJSON data structure, realizes the application of map Data on the Web platform, with the characteristics of crossplatform, lightweight and fast response.

GeoJSON; HTML5 Canvas; WebGIS

猜你喜歡
分析系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
隱蔽失效適航要求符合性驗證分析
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
電力系統及其自動化發展趨勢分析
主站蜘蛛池模板: 影音先锋丝袜制服| 国产福利大秀91| 亚洲开心婷婷中文字幕| 久久人人爽人人爽人人片aV东京热| 永久免费AⅤ无码网站在线观看| 亚洲人人视频| 国产精品三级专区| 亚洲第一区在线| 欧美精品成人一区二区视频一| 激情视频综合网| 91娇喘视频| 日韩精品亚洲人旧成在线| 色哟哟国产精品一区二区| 99久久国产综合精品2023| 69av免费视频| 在线观看精品自拍视频| 免费99精品国产自在现线| 最新亚洲人成网站在线观看| 日韩二区三区无| 视频一区亚洲| 欧美成人精品一区二区| 国产专区综合另类日韩一区| 午夜激情婷婷| 香蕉久人久人青草青草| 国产亚洲精品97在线观看| 欧洲成人免费视频| 直接黄91麻豆网站| 在线a视频免费观看| 中文字幕人妻av一区二区| 2021天堂在线亚洲精品专区| 黄片在线永久| 成人在线欧美| 免费人成视网站在线不卡| 色综合中文| 538精品在线观看| 国产精品999在线| 国产一区免费在线观看| 国产麻豆福利av在线播放| 欧美精品一区二区三区中文字幕| 91亚洲国产视频| 91久久国产热精品免费| 黑人巨大精品欧美一区二区区| 青青久视频| 精品无码日韩国产不卡av| 免费无遮挡AV| 日韩在线中文| 美女毛片在线| 国产精品亚洲五月天高清| 欧美自慰一级看片免费| 女人毛片a级大学毛片免费 | 亚洲人成在线精品| 九九九精品视频| 男女性色大片免费网站| 欧美黄色网站在线看| 青青操国产视频| 国产精品免费久久久久影院无码| 国产自产视频一区二区三区| 亚洲精品国产精品乱码不卞| 一级毛片免费不卡在线| 久青草网站| 干中文字幕| 亚洲精品视频在线观看视频| 99在线小视频| 色网站在线免费观看| 婷婷五月在线| 国产白丝av| 欧美亚洲综合免费精品高清在线观看| 国产精品久久精品| 99视频在线观看免费| 少妇露出福利视频| 国产精品原创不卡在线| 毛片基地美国正在播放亚洲 | 人人91人人澡人人妻人人爽| 亚洲精品第一页不卡| 亚洲AV一二三区无码AV蜜桃| 无码精品福利一区二区三区| 婷婷色在线视频| 青青国产成人免费精品视频| 亚洲欧美日本国产综合在线| 日韩精品中文字幕一区三区| 最新加勒比隔壁人妻| 欧美色香蕉|