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

0 引言

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

國內已有不少在線專題圖製做平臺,包括地圖匯愛地圖等,對其專題圖類型進行分類整理,可獲得如下分類:html

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

1 初衷

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

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

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

    鑑於此,基於ArcGIS JS API封裝了這套專題圖製圖類庫OTMaps(Online Themetic Maps),並開源出來供你們使用,同時但願使用者積極反饋或一塊兒修改完善。github

2 思路

    實現思路以下圖所示:web

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

3 使用

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

    
    
    
    

博文做者:vicfeel
博文出處:http://www.cnblogs.com/vicfeel
本文版權歸做者和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做!
若是閱讀了本文章,以爲有幫助,您能夠爲個人博文點擊「推薦一下」!ui

相關文章
相關標籤/搜索