省、市、區、街道行政區數據以及行政區數據合並問題


一、行政區獲取

公司需要做大屏數據展示,地圖地區需要到街道級別。

查看了不少資料。

目前的解決方案是,省市級別的數據在阿里地圖選擇器下載( http://datav.aliyun.com/tools/atlas/),可以做到縣級下鑽,如果要下鑽到街道級別,則需要網上找這部分數據(找了很多,不大靠譜。如果付費的話,BIGEMAP,3000多授權,能下載所有行政區數據)。我們公司小,需求不多,就湖南部分區縣,所以網上找的方案,用的BIGEMAP的免費功能,導出邊界,一個個的街道導出(BIGEMAP無mac版)

 

以醴陵市(湖南省-株洲市-醴陵)為例

1、導出所有街道級別KML文件,然后在 http://geojson.io/#new 轉化為JSON數據,轉化后數據格式大概如下。

{
  "type": "FeatureCollection",
  "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": []
      }
    }
  ]
}

 2、合並數據,將所有街道級別JSON,合並到一起,就是整個醴陵市區的行政區數據。上述代碼JSON對象下features數據放到一個features對象下(數據太多可以用nodejs或者java寫個方法,讀取文件合並)

{
  "type": "FeatureCollection",
  "features": [
     {
            // 街道1下features
        },
     {
            // 街道2下features
        },
     {
            // 街道3下features
        },
        // ...
  ]
}

二、行政區數據合並

區級別的行政區及以上級別可能改變會比較小,街道級別數據變動比較多,以醴陵為例,BIGEMAP上數據應該是比較早以前數據,2015年后街道合並、改名的有很多,下圖對照即可看出

(左邊為BIGEMAP上的醴陵市行政區數據,右圖是我們系統的,差不多也是最新的數據。)

 

注:本文以geojson、mapshaper這兩個網站合並區域為例,其他博客也看到可以用js之類處理合並,可以去看看

 

 1、合並數據,以【明月鎮】為例,百度百科數據(2015年,賀家橋鎮與大障鎮成建制合並設立明月鎮)。

在 http://geojson.io/#new 上傳家橋鎮與大障鎮的kml文件(之前已下載) OPEN - FILE

 

 獲得如下行政區邊界數據

 

 將右側數據復制出來,另存為json文件

2、修改該json文件,目前得到數據如下,features數組對象下,每個對象的properties增加alias屬性,屬性值為合並后名字。保存

 

 

 

3、打開https://mapshaper.org/,選擇剛上傳的json文件導入,得到如下數據

 

 

打開網站命令行工具,輸入命令 dissolve 'alias' -o result.json,回車,然后下載json文件

 

 

 

 4、校驗,下載完的json數據拷貝出來,放入geojson右側JSON框內,就可以看到合並后的行政區了。注意修改properties下的屬性,合並后,屬性名為 alias ,需改為 name,與之前保持一致

 

 

 

 以上只是一個笨方法,如果有更好方法,求告知。

 


免責聲明!

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



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