基於ArcGIS JS API的在線專題地圖實現


0 引言##

    專題地圖是突出而深入的表示一種或幾種要素或現象,即按照地圖主題的要求,集中表示與主題有關內容的地圖。專題地圖的專題要素多種多樣,分類方法也多種多樣,根據專題地圖表現數據的特點可分為定性專題地圖和定量專題地圖。定性專題地圖用於表示種類或名稱現象數據的空間分布和定位特征,定量專題地圖則強調不同位置上空間地理目標的數量特征。

國內已有很多在線專題圖制作平台,包括地圖匯愛地圖等,對其專題圖類型進行分類整理,可得到以下分類:

類型 專題圖
定量專題地圖 范圍值專題圖(分層設色)
等級符號專題圖
餅狀專題圖
柱狀專題圖
定性專題地圖 分布專題圖
熱力專題圖
趨勢專題圖

1 初衷

    HTML5的canvas提供基礎的繪制功能,為在線專題圖的實現提供了方法(地圖匯就是基於canvas開發的相關功能),然而這種方式成本較高,需要自己實現地圖渲染、比例尺縮放等一系列功能。

    基於Arcgis API for Javascript二次開發也是一個很好的選擇,ArcGIS API for Javascript是ESRI基於dojo,采用JavaScript技術實現的調用ArcGIS Server REST API接口的一組腳本,提供了web端地圖相關基礎功能,在制圖方面, esri/renderers包含地圖渲染方式相關的類,可用於范圍值、唯一值、熱力圖等專題圖的渲染,但仍存在以下問題:

  • 對於柱狀圖、餅狀圖、等級符號等專題圖,目前版本(4.0)並沒有直接的開發接口。
  • 圖例組件顯示內容不能很好的滿足專題圖要求
  • 制作專題圖涉及類庫較多

    鑒於此,基於ArcGIS JS API封裝了這套專題圖制圖類庫OTMaps(Online Themetic Maps),並開源出來供大家使用,同時希望使用者積極反饋或一起修改完善。

2 思路

    實現思路如下圖所示:

    各個專題圖類的方法相同,都包括draw、clear、setConfig,均繼承自OTMap父類,而draw方法則各自實現,同時draw的實現並非是獨立的,而有很多重疊的部分,比如柱狀專題圖可能會用到除了柱子的渲染外,還會用到獨立值渲染或者范圍值渲染,部分專題圖都會用到圖例,因為將核心渲染方法封裝渲染類中,各個專題圖的實現本質上是渲染類中各個組件的調用。

3 使用

     項目地址:http://vicfeel.github.io/OTMaps/
     效果截圖:

    
    
    
    

博文作者:vicfeel
博文出處:http://www.cnblogs.com/vicfeel
本文版權歸作者和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文鏈接,謝謝合作!
如果閱讀了本文章,覺得有幫助,您可以為我的博文點擊“推薦一下”!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM