• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于開放地圖的小型WebGIS應用研究

      2017-01-05 03:46:40胡亞明黃培泉
      關鍵詞:開發(fā)者示例代碼

      胡亞明,黃培泉

      (廣東工貿(mào)職業(yè)技術學院,廣東廣州510510)

      基于開放地圖的小型WebGIS應用研究

      胡亞明,黃培泉

      (廣東工貿(mào)職業(yè)技術學院,廣東廣州510510)

      針對傳統(tǒng)GIS平臺開發(fā)過程復雜和成本較高的問題,探討基于開放地圖服務的小型WebGIS應用研究,闡述并實踐基于開放API開發(fā)應用的基本步驟,開發(fā)者可以輕松利用開放服務的地圖資源及各項工具,高效靈活地實現(xiàn)多種多樣的WebGIS應用。

      WebGIS;開放地圖;ArcGISAPI

      GIS(Geospatial Information System,即地理信息系統(tǒng))經(jīng)過多年的發(fā)展,逐步成熟并得到了廣泛應用,在公眾生活、城市管理、科學研究、宏觀決策等領域發(fā)揮著重要作用。隨著計算機網(wǎng)絡技術的迅猛發(fā)展,信息高速公路的建設,基于因特網(wǎng)的WebGIS成為下階段GIS發(fā)展的主流之一。

      1 基于開放地圖的WebGIS系統(tǒng)

      WebGIS輕便、跨平臺且便于推廣,特別是在移動生態(tài)越發(fā)繁榮的前景下,近年來呈現(xiàn)大眾化的趨勢[1],尤其是Google Maps開放地圖服務的推出,使得基于非GIS行業(yè)的準GIS服務模式的應用開始大量涌現(xiàn),其開放性使得GIS用戶、軟件開發(fā)者及系統(tǒng)集成者均受益良多。相比傳統(tǒng)的基于桌面的GIS,基于開放地圖服務的WebGIS有如下優(yōu)點:

      1)拓展了GIS的應用領域和服務范圍,增強了空間信息服務的時效性。更多用戶可以同時訪問多個位于不同服務器上的最新數(shù)據(jù),使分布式的多數(shù)據(jù)源管理和合成(Mashup)更易于實現(xiàn)。

      2)大大降低了用戶成本??蛻舳瞬辉傩枰惭b昂貴的專業(yè)GIS軟件,通常只需使用Web瀏覽器,軟件成本顯著下降。此外,客戶端操作復雜度的降低也有效節(jié)省了維護費用。用戶使用的地圖資源基本來自開放地圖服務商,不需要自己設計實現(xiàn)空間數(shù)據(jù)庫,這就大大降低了使用者的開發(fā)成本。

      3)豐富的組件和接口。開放地圖服務一般都提供了穩(wěn)定、豐富的組件和接口,以實現(xiàn)地圖的基本控制操作和業(yè)務服務功能,以及廣泛的開發(fā)文檔和代碼示例,使開發(fā)者能夠方便快捷地定制用戶界面,并根據(jù)業(yè)務需求和使用習慣自定義地圖服務的使用方式。

      2 常用開放地圖服務的現(xiàn)狀

      目前互聯(lián)網(wǎng)上的開放地圖應用較多,提供的功能、接口類型不盡相同,開發(fā)文檔也參差不齊,下面主要從開發(fā)文檔、易用性和功能性等方面做一個大致的整理,使用戶更加清楚地了解主流的開放地圖服務[2]。

      1)谷歌地圖(Google Maps)

      谷歌地圖提供全球區(qū)域的地圖(支持本地化語言),以及包括嵌入式API在內(nèi)的各類庫(支持W3C標準),如Places library、Geolocation library等,并提供了非常詳細的API。

      文檔和示例代碼、SDK,及其他各種地圖工具。為方便開發(fā)者快速找到合適的API,還提供了API選擇器,而且開發(fā)者可以在應用中通過AdSense for Maps顯示廣告來獲得收入。谷歌地圖API分為標準版和付費版,標準版不收費,但是對使用場景有一定的商業(yè)限制。

      2)必應地圖(Bing Maps)

      微軟公司的必應地圖提供了種類多樣的API,接口的靈活性與可封裝性較好;文檔詳細且全面,有很好的AJAX交互式SDK以及功能示例;還為開發(fā)者搭建JavaScript應用提供了代碼片段。必應地圖API根據(jù)使用的授權key分為基礎版和企業(yè)版,基礎版有一定的用量限制。

      3)高德地圖(MapABC)

      高德地圖的優(yōu)勢在于其地圖數(shù)據(jù)的精確性,且提供了多種地圖和搜索API,設計良好、操作全面、功能豐富。其開發(fā)文檔、SDK較詳細,并提供了入門教程和豐富的學習示例,非常適合入門學習與應用開發(fā)。MapABC API分為兩個版本:個人版和企業(yè)版。個人版不對使用者收費,但有一定的調(diào)用配額限制。

      4)天地圖

      天地圖是中國自主的互聯(lián)網(wǎng)地圖服務網(wǎng)站,由國家測繪局監(jiān)制、國家基礎地理信息中心管理。中國區(qū)域內(nèi)的數(shù)據(jù)尤為詳盡,包括不同詳細程度的交通、水系、政區(qū)、地名等矢量數(shù)據(jù),不同分辨率的地表衛(wèi)星影像數(shù)據(jù)等。天地圖提供了Web API和移動API兩種(基于武大吉奧開發(fā)的GeoGlobe二維地圖API,功能可參考OpenLayers開源庫),并提供了簡潔的API參考文檔和代碼示例。

      5)OpenStreetMap(OSM)

      OSM是由志愿者團體共同打造的免費開源、可編輯的地圖服務,相當于電子地圖領域的維基百科。OSM的地圖數(shù)據(jù)完全開放,用戶可以免費創(chuàng)建和使用其地圖數(shù)據(jù),其中歐美地圖資源較為詳細,而中國區(qū)域要差很多。OSM官方API文檔較全面,但僅用于地圖數(shù)據(jù)編輯,開發(fā)者可選用流行的WebGIS API,如OpenLayers或Leaflet。

      6)百度地圖

      百度地圖僅提供中國區(qū)域地圖,其中3D地圖僅支持一線城市。其提供的API接口[3]模塊化設計良好,支持各主流瀏覽器(包括國內(nèi)主要瀏覽器),兼容性較好,但配置略麻煩。文檔完備,并有豐富的學習資料。

      7)Esri ArcGIS Online

      Esri主要面向企業(yè)級市場,提供了一套完整而成熟的GIS平臺,包括基于云服務的制圖平臺、ArcGIS桌面版、CityEngine等。但Esri也開始關注商業(yè)GIS市場,推出了ArcGIS Online一站式GIS應用環(huán)境和協(xié)作式地圖服務平臺,允許組織成員使用、創(chuàng)建和共享地圖、應用和數(shù)據(jù)。Esri有專門面向開發(fā)者的網(wǎng)站,內(nèi)容包括ArcGIS API和SDK、開發(fā)文檔、演示、代碼示例、培訓課程等。ArcGISOnlineAPI部分功能有服務配額限制,如存儲和分析功能,但多數(shù)情況下無限制。

      3 基于開放地圖API的Web應用

      ArcGIS API for JavaScript是ESRI公司提供的基于JavaScript語言的一套編程接口[4],其基于Dojo框架和REST風格實現(xiàn),其框架如圖1所示。

      圖1 ArcGIS JavaScript API框架圖

      以下是一個簡單應用:與地圖交互時,鼠標點擊的地理區(qū)域高亮。具體步驟[5][6]如下:

      1)注冊ArcGIS公共賬戶

      公共帳戶是具有限制使用和功能的個人帳戶,僅供非商業(yè)用途使用。注冊后,便可以登錄ArcGIS Online創(chuàng)建、制作并發(fā)布自己的Web地圖服務了。

      2)創(chuàng)建展示頁面

      首先在頁面中引入基礎樣式和API類庫:

      <link rel="stylesheet"href="https://js.arcgis.com/4. 0/esri/css/main.css">

      <script src="https://js.arcgis.com/4.0/"></script>

      那為啥這“奢侈”的場景沒出現(xiàn)呢?因為大部分的黃金都深深地藏在地核中,地殼中的黃金含量所占比例不到1%。就算咱們抓心撓肺地想去和它們親密接觸,也只能望“核”興嘆。

      定義地圖容器。地圖需要一個HTML元素作為容器來展示到頁面上:

      <style>#sceneDiv{height:100%;width:100%; margin:0;padding:0;}</style>

      <body><div id="sceneDiv"/></body>

      3)初始化地圖

      首先引入需要的基礎API類包。使用AMD(Asynchronous Module Definition)規(guī)范中的require方法來異步加載各模塊,依賴各模塊的代碼應放于回調(diào)函數(shù)中:

      require(["esri/Map","esri/views/MapView","esri/layers/FeatureLayer","esri/symbols/SimpleFillSymbol" ],function(Map,MapView,FeatureLayer,SimpleFill-Symbol){//后繼代碼放于此處});

      然后,使用API創(chuàng)建地圖:

      var map=new Map({basemap:"dark-gray"});//選擇底圖

      var view=new MapView({//建立二維視角,指定顯示的地圖范圍

      container:"sceneDiv",map:map,center:[-73.950, 40.702],

      zoom:11,padding:{right:300}});

      初始化完成后,一個基礎的地圖實例就完成了。

      4)數(shù)據(jù)組織和顯示設計

      圖層是地圖中最基礎的組件,用來顯示地理數(shù)據(jù)集。其中,GraphicsLayer和FeatureLayer是API中最常用的兩種圖層,大部分的程序功能基于它們來完成。這里加載一個新的FeatureLayer圖層,將項目數(shù)據(jù)集顯示在底圖上:

      var FLyr=new FeatureLayer("http://services.arcgis. com/ArcGIS/rest/services/NYCgraphics1/FeatureServer/0 ");

      map.add(FLyr);

      view.whenLayerView(FLyr).then(function(LView){//等待加載完畢;后繼代碼放這});

      5)自定義交互設計

      可以根據(jù)需求在地圖上疊加一層自定義覆蓋物,比如標注、圖形和信息窗口等[7]。這里在鼠標點擊區(qū)域后疊加高亮圖塊。

      var sym=SimpleFillSymbol({color:"red"});

      view.on("click",function(evt){//注冊點擊事件

      view.graphics.removeAll();

      view.hitTest(evt.screenPoint).then(function(ret){ //獲取點擊處的圖層對象

      var topGraph=ret.results[0].graphic;

      topGraph.symbol=sym;//高亮圖塊

      view.graphics.add(topGraph);});});//添加至頂層的GraphicLayer。

      4 結(jié)束語

      文章從研究的角度,系統(tǒng)介紹了各項開放地圖服務的基本功能、技術優(yōu)勢和API的設計、使用,并探討了基于開放地圖API的WebGIS應用的開發(fā)。實踐表明,基于開放地圖API二次開發(fā)的WebGIS應用有開發(fā)方便靈活、加載快速、自定義功能強等優(yōu)點。可以預見,隨著開放地圖服務平臺的發(fā)展以及WebGIS研究的深入,電子地圖應用將更為廣泛地被非專業(yè)用戶所接受,對于電子地圖服務的發(fā)展和推廣具有重要意義。

      [1]李崇鞅.無線城市發(fā)展趨勢及挑戰(zhàn)分析[J].湖南郵電職業(yè)技術學院學報,2014(1):9-11.

      [2]趙書田,劉海姣.基于開放地圖API的WEBGIS應用研究[J].電腦知識與技術,2014(36):86-88.

      [3]杜傳明.百度地圖API在小型地理信息系統(tǒng)中的應用[J].測繪與空間地理信息,2011(2):152-154.

      [4]高鵬,徐志剛,黃金華.基于ArcGIS的龍巖市城市綠地信息系統(tǒng)的建立[J].江西理工大學學報,2015(1):74-80.

      [5]劉茜茜,孫亞琴,呂翔.基于WebGIS的氣象信息服務系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,2014(1):322-326.

      [6]楊英杰.基于開源技術的WebGIS系統(tǒng)構(gòu)建與應用[M].西安:西安電子科技大學出版社,2014.

      [7]張帥毅,徐京華.基于開放地圖API的網(wǎng)絡專題制圖方法研究[J].測繪,2011(3):108-110.

      Study of small-sized WebGIS application based on open map

      HUYa-ming,HUANGPei-quan
      (GuangdongCollege ofIndustry&Commerce,Guangzhou,Guangdong,China 510510)

      For the problems of complexity and high cost in traditional GIS platform development,we have explored the small-sized application based on open-map service,and stated the basic steps to develop WebGIS application by open APIs,with an example from practice.The developers can take advantage of the map resources and various tools in open-map service,and implement all kinds of WebGISapplications efficientlyand flexiblywith verylittle effort.

      WebGIS;open map;ArcGISAPI

      10.3969/j.issn.2095-7661.2016.04.014】

      P208

      A

      2095-7661(2016)04-0047-03

      2016-09-19

      胡亞明(1982-),男,湖北黃梅人,廣東工貿(mào)職業(yè)技術學院軟件設計師,碩士,研究方向:計算機應用、教育信息化。

      猜你喜歡
      開發(fā)者示例代碼
      大還是小
      2019年高考上海卷作文示例
      常見單位符號大小寫混淆示例
      山東冶金(2019年5期)2019-11-16 09:09:22
      “全等三角形”錯解示例
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      16%游戲開發(fā)者看好VR
      CHIP新電腦(2016年3期)2016-03-10 13:06:42
      iOS開發(fā)者調(diào)查
      電腦迷(2015年8期)2015-05-30 12:27:10
      凯里市| 清苑县| 正阳县| 绥棱县| 临猗县| 庐江县| 延长县| 罗山县| 沈阳市| 清水河县| 海兴县| 鄯善县| 兴文县| 东平县| 鹤庆县| 临沂市| 南木林县| 邛崃市| 体育| 济阳县| 尖扎县| 且末县| 衡东县| 黄山市| 孝昌县| 渭源县| 洛浦县| 泸水县| 安国市| 北辰区| 沽源县| 慈利县| 台安县| 清涧县| 来凤县| 连平县| 杭州市| 赣州市| 烟台市| 城市| 高尔夫|