怎樣獲得osm上的行政區劃shp文件

2018.4.18 :剛剛發現我這里的wifi(電信的寬帶)打不開下面的其中幾個網站,需要使用網絡工具才行。? 但是用手機流量(聯通)是可以直接打開的。

2018.1.25 :方法二的網站又恢復了。

2018.1.18 :又發現了一個網站,見方法三。

2018.1.16 : 方法一的網站月底就停止服務了,不過里面提到有替代的服務。


OSM(openstreetmap)<https://zh.wikipedia.org/wiki/%E9%96%8B%E6%94%BE%E8%A1%97%E5%9C%96>

開放街道地圖(英語:OpenStreetMap,縮寫為OSM)是一個建構自由內容之網上地圖協作計劃,目標是創造一個內容自由且能讓所有人編輯的世界地圖,并且讓一般便宜的移動設備有方便的導航方案。

*這個是osm上常規數據(道路、河流、建筑物等)的獲取辦法:osm數據獲取-知乎

*osm上的行政區劃不能直接下載,所以要通過下面的方法獲取*

*為什么我要獲取這個數據,是因為論文要用,但是網上能找到免費的到縣級的矢量數據似乎太老了(“花縣”、“花都市”分別是幾十年和十幾年前的叫法了)*


方法一

1.從 https://mapzen.com/data/borders/ 上下載geojson文件(不過數據在2016年10月14日停止了更新,也就是更新到到16年,仍在更新的數據見方法二或三【2018.1.16:方法二的網站目前掛了,之前改過一次地址,不知會不會再恢復】)



直接找到“China”點擊便是。(下圖可見osm提供的是眾源地理數據,在這里可以下載世界各個國家的行政區劃數據。)

各個國家有各個國家嘅國歌

2.打開網站mapshaper

http://mapshaper.org/

點擊 select 找到下載下來并且解壓后的.geojson文件

不同的level數值代表不同等級的行政區,各個國家行政區等級編號不同,打開看看就知道了。

中國的level 2是國家范圍(可以見到有明顯錯誤。很容易注意到有爭議區域,畢竟不是官方數據)

level 6就是我要找的縣這個級別了

還可以查看屬性表


3.右上角export,將它導出,要注意導出shapefile外還要導出csv也就是它的屬性表。


之所以要導出這個csv也就是屬性表,是因為導出的shp文件的屬性表中文的部分是亂碼的。這是網絡字符編碼和本地不一樣的原因。(具體我也不知道)

4.解決亂碼的方法:用notepad++(等記事本程序)打開csv文件,將編碼改成ANSI,保存,csv屬性表就會正常顯示。然后用連接表的方式將屬性表關聯到shp的要素上就行了。(匹配字段是“FID_1”)



方法二

直接從OSMBoundariesMap中獲取(可直接導出為shp格式)

這個網站需要登錄(osm賬號)才可以下載。

這個簡直太簡單了。而且仍在更新。

2017.6.11

補充一下,如下圖所示,最下面還有幾個選項是控制選擇的數據,其中land和water這個應該分別對應陸地和包括海域的行政區劃數據,點選后可以對選擇的數據進行預覽。

2017.5.22

第二種方法的這個網站下載相當的慢,今天用了下只有5k左右的速度,掛了ss也是一樣。


方法三

網址polygons,網站數據似乎是最新的。

該網站要用行政區在osm上的ID來獲取它的GeoJSON,然后按方法一的步驟應該就可以轉成shp了。遺憾的是數據似乎只有帶上水域的版本,對于沿海地區不太方便。而且這個方法只能得到圖形(polygon),沒有屬性。


圖片發自簡書App


圖片發自簡書App


圖片發自簡書App
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容