高德地图看各省分界线_从高德采集最新的省市区三级坐标和行政区域边界,用js在浏览器中运行...
本文描述的是對(duì)國(guó)家統(tǒng)計(jì)局于2019-01-31發(fā)布的《2018年統(tǒng)計(jì)用區(qū)劃代碼和城鄉(xiāng)劃分代碼(截止2018年10月31日)》中省市區(qū)三級(jí)的坐標(biāo)和行政區(qū)域邊界的采集。隨著時(shí)間變化,本文內(nèi)容會(huì)逐漸變舊或失效,請(qǐng)到GitHub倉(cāng)庫(kù)查閱最新更新數(shù)據(jù)。
邊界效果預(yù)覽
數(shù)據(jù)來(lái)源
坐標(biāo)和邊界是高德地圖提供的數(shù)據(jù)接口;可通過(guò)方法轉(zhuǎn)換成其他坐標(biāo)系的坐標(biāo),比如百度地圖的。
數(shù)據(jù)采集
1. 調(diào)用高德地圖接口抓取原始數(shù)據(jù)
進(jìn)入高德地圖測(cè)試頁(yè)面,執(zhí)行代碼即可完成抓取,開了4個(gè)模擬的線程,采集了3300+數(shù)據(jù),首次運(yùn)行大概2分多鐘完成采集。
抓取完成后會(huì)自動(dòng)彈出保存文件數(shù)據(jù)。
源碼里面包含了對(duì)不同地名的處理,有些城市不能直接通過(guò)編碼或城市名稱來(lái)查詢,高德地圖相對(duì)于統(tǒng)計(jì)局還是有些滯后。
2. 處理數(shù)據(jù)和導(dǎo)出CSV
這個(gè)代碼比較簡(jiǎn)單,目前只是起到把數(shù)據(jù)導(dǎo)出來(lái)的作用,里面寫了一大堆方法,但運(yùn)行過(guò)一次后發(fā)現(xiàn),基本上可以不用了,因?yàn)閷?duì)數(shù)據(jù)進(jìn)行驗(yàn)證部分發(fā)現(xiàn)高德的數(shù)據(jù)非常完美。
代碼運(yùn)行完成就自動(dòng)彈出保存csv文件數(shù)據(jù)了。
為什么不采百度的
使用高德接口采集是后面才決定的,因?yàn)楸緛?lái)是用百度地圖的接口,但數(shù)據(jù)全部搞完,經(jīng)過(guò)使用發(fā)現(xiàn)百度地圖數(shù)據(jù)有嚴(yán)重問(wèn)題:
參考 肅寧縣(右下方向那塊飛地)、路南區(qū)(唐山科技職業(yè)技術(shù)學(xué)院那里一段詭異的邊界) 邊界,百度數(shù)據(jù)大量線段交叉的無(wú)效polygon(百度地圖測(cè)試),沒有人工無(wú)法修正,高德沒有這個(gè)問(wèn)題(高德地圖測(cè)試);
并且高德對(duì)鏤空性質(zhì)的地塊處理比百度強(qiáng),參考天津市對(duì)唐山大塊飛地的處理,高德數(shù)據(jù)只需要Union操作就能生成polygon,百度既有Union操作又有Difference操作,極其復(fù)雜數(shù)據(jù)還無(wú)效。
所以放棄使用百度地圖數(shù)據(jù)。
如何使用這些數(shù)據(jù)
坐標(biāo)和邊界數(shù)據(jù)和省市區(qū)數(shù)據(jù)是分開存儲(chǔ)的,通過(guò)ID來(lái)進(jìn)行關(guān)聯(lián)。
采集到的csv文件可以導(dǎo)入到數(shù)據(jù)庫(kù)內(nèi)使用,由于POLYGON需要解析,蠻復(fù)雜的,可以參考src/map_geo_格式化.js內(nèi)的SQL Server導(dǎo)入用的SQL語(yǔ)句的例子。
如果需要特定的POLYGON格式,可以根據(jù)庫(kù)里面介紹的字段格式,自行進(jìn)行解析和驗(yàn)證。
使用過(guò)程中如果遇到多種不同坐標(biāo)系的問(wèn)題,比如請(qǐng)求的參數(shù)是WGS-84坐標(biāo)(GPS),我們后端存儲(chǔ)的是高德的坐標(biāo),可以通過(guò)將WGS-84坐標(biāo)轉(zhuǎn)成高德坐標(biāo)后進(jìn)行處理,百度的坐標(biāo)一樣。轉(zhuǎn)換有相應(yīng)方法,轉(zhuǎn)換精度一般可以達(dá)到預(yù)期范圍,可自行查找。或者直接把高德的原始坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成目標(biāo)坐標(biāo)系后再存儲(chǔ)(精度?)。
SQL Server中的運(yùn)行結(jié)果(大概2分鐘完成POLYGON的轉(zhuǎn)換,表數(shù)據(jù)物理存儲(chǔ)空間大概300M):
最后
releases內(nèi)除了有省市區(qū)三級(jí)坐標(biāo)和行政區(qū)域邊界csv數(shù)據(jù)外,還有處理好的3級(jí)或者4級(jí)省市區(qū)鎮(zhèn) csv數(shù)據(jù)提供下載。
如果這個(gè)庫(kù)有幫助到您,請(qǐng) Star 一下。
總結(jié)
以上是生活随笔為你收集整理的高德地图看各省分界线_从高德采集最新的省市区三级坐标和行政区域边界,用js在浏览器中运行...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何快速地提高店铺销量
- 下一篇: 2017年html5行业报告,云适配发布