日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法

發布時間:2025/4/5 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

一、OSM簡介

二、獲取OSM數據方法

方法1:官網下載

方法2:通過ArcGIS Editor for OpenStreetMap插件下載

方法3:通過QGIS下載

三、獲取OSM城市路網數據方法

方法2:從china-latest.shp.zip中裁剪出某城市的路網數據

第一步,從http://download.geofabrik.de/中下載china-latest.shp.zip

第二步,裁剪

方法2:用overpass工具下載某城市的路網

第一步,根據城市名獲取對應ID

第二步,根據城市ID獲取路網數據

附:OSM道路分類

四、OSM數據轉為ESRI shp數據

方法1:網頁版GeoConverter工具

方法2:通過ArcGIS Editor for OpenStreetMap插件

方法3:借助QGIS


  • 一、OSM簡介

OpenStreetMap(OSM)號稱地圖界的維基百科。是在2004年7月由史蒂夫·克斯特始創。2006年4月,OpenStreetMap基金會成立,鼓勵自由地理數據的增長,發展和分布,并向所有人提供地理數據以供使用及分享。

OSM官方介紹網頁:

http://wiki.openstreetmap.org/wiki/Zh-ant:Map_Features#.E9.81.93.E8.B7.AF_.28highway.29

WikiProject China

OSM數據分類:

  • 二、獲取OSM數據方法

獲取OSM數據方法有許多,可以直接在OpenStreetMap官網下載,可以用QGIS軟件下載,也可以下載ArcGIS Editor for OpenStreetMap插件進行下載。

ArcGIS10.2 ArcGIS Editor for OpenStreetMap插件下載鏈接(百度網盤):https://pan.baidu.com/s/1qXK7rB2?fid=771029154063284&errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=

其他版本ArcGIS10.2.x下載鏈接:http://www.arcgis.com/home/item.html?id=16970017f81349548d0a9eead0ebba39

  • 方法1:官網下載

1.直接在地圖上畫矩形框下載框內的數據,網上有很多介紹,在此不贅述。

2.下載世界各地的OpenStreetMap地圖矢量數據

打開OpenStreeetMap首頁OpenStreetMap?。然后單擊下圖右上角的導出,可以看到有許多數據來源的網站,選擇Geofabrik 下載就可以進入下載了。http://download.geofabrik.de/

?

?以中國為例,在表格內選擇Asia,單擊,然后在Sub Region內選擇China,選擇.shp.zip數據,單擊直接下載,解壓后,就可以在ArcGIS直接打開了。數據量很龐大,需要自己先整理。OSM數據定期更新。單擊China按鈕,可以查看數據的更新時間,也可以下載china-latest.shp.zip。

  • 方法2:通過ArcGIS Editor for OpenStreetMap插件下載

在ArcToolbox-OpenStreetMap Toolbox的工具,單擊Download OSM data就可以下載地圖數據,既可以以經緯度確定范圍,只需在Top、Bottom、Left、Right輸入經緯度即可,但是范圍不能過大,否則無法下載,會提示【Extend of download】超過范圍。也可以用原有的矢量圖(shp文件)進行框定范圍,進行下載,同樣對范圍有所限制,比如為了下載某市的數據,將該市地圖切成幾十塊,分塊下載。

  • 方法3:通過QGIS下載

在QGIS軟件菜單欄選址Vector-再點擊Openstreetmap-Download Data,打開OSM網站,選擇范圍,選擇Manual填寫范圍下載。

?

  • 三、獲取OSM城市路網數據方法

方法2:從china-latest.shp.zip中裁剪出某城市的路網數據

該方法的優點:①下載的直接是shp文件,無需從osm文件轉為shp文件;②china-latest.shp.zip中有分好類的road數據

該方法的缺點:①china-latest.shp.zip文件過大 1G左右,下載可能較慢;②要有城市的邊界shp或是研究區域的邊界shp文件,方便裁剪

適用范圍:已有研究區域邊界的情況下,用這種方法真的很方便,第一步下載,第二步裁剪,裁剪完就能用,不用再格式轉換和分類。

第一步,從http://download.geofabrik.de/中下載china-latest.shp.zip

該shp包中包含了分好類的各類shp:

第二步,裁剪

在ArcMap或QGIS等GIS軟件中裁剪即可

?

方法2:用overpass工具下載某城市的路網

通過OpenStreetMap獲取城市道路網數據難點在于:取數據的框一般都是矩形框:,很難劃定城市邊界,以及如何從眾多圖層中只獲得路網數據。

轉換一下思路,從以下兩個步驟中獲取數據:

  • 根據城市名獲取對應ID
  • 據城市ID獲取路網數據?

該方法的優點:無需城市行政區劃邊界,即可下載到某城市的路網

該方法的缺點:①下載下來的并不單單是road,而是road、water、waterway等數據混到一起的,仍需要提取出road;②下載下來的數據類型是osm,往往還要將其轉換為shp

適用范圍:無城市行政區劃邊界的情況下,下載城市路網

第一步,根據城市名獲取對應ID

進入?http://www.overpass-api.de/index.html

點擊第二欄的Query -> Query and Convert Forms

在Overpass API Query Form下方的輸入框中輸入代碼:

<osm-script><query type="relation"><has-kv k="boundary" v="administrative"/><has-kv k="name:zh" v="成都市"/></query><print/></osm-script> 其中name:zh代表中文地址,否則使用name即可 當然,如果你不喜歡輸出格式為XML,也可以將<osm-script>修改為<osm-script output="json">定義輸出數據格式為JSON。

點擊右側的Query按鈕,即可將結果從瀏覽器下載到本地,文件名為interprept, 用記事本打開該文件,找到<relation id="2782246">, 即可拿到成都市的ID為2782246

第二步,根據城市ID獲取路網數據

再次在主界面的Overpass API Query Form(即第一個查詢框中)輸入如下代碼

<osm-script timeout="1800" element-limit="100000000"><union><area-query ref="3602782246"/><recurse type="node-relation" into="rels"/><recurse type="node-way"/><recurse type="way-relation"/></union><union><item/><recurse type="way-node"/></union><print mode="body"/> </osm-script> ?

其中<area-query ref="3602782246"/>中3602782246是上一步驟中拿到的ID加上360000000后得到的數字。ID僅僅為所查詢城市的行政區邊界,如果想得到該市邊界內所有的地圖數據,我們需要在該id號基礎上加3,600,000,000,得到最終的ID值為3603076268;

點擊右側的Query按鈕,即可將結果從瀏覽器下載到本地,文件名為interprept,打開后即可得到路網數據。

此時數據格式仍為OSM標準的格式,需要轉換為常用的shp格式,詳見下一部分。

  • 附:OSM道路分類

OSM道路分類:https://wiki.openstreetmap.org/wiki/Key:highway

感謝這位博主提供的openstreetmap道路網數據對應中國道路速度:https://blog.csdn.net/u011994016/article/details/56831190

?

  • 四、OSM數據轉為ESRI shp數據

  • 方法1:網頁版GeoConverter工具

方便快捷,使用簡單,網址鏈接:https://geoconverter.hsr.ch/

但是使用網頁版GeoConverter轉換出來的數據編碼不對,所以會出現亂碼,或者全是????????????,使用方法3-QGIS轉換時候指定編碼為utf8就可以解決轉換為shp出現的亂碼問題(感謝評論里的大神提供的解決方案!)

  • 方法2:通過ArcGIS Editor for OpenStreetMap插件

本地新建一個文件地理數據庫,使用OpenStreetMap Toolbox.tbx工具中的Load?OSM?File功能,將生成結果輸出到剛剛新建的文件地理數據庫,之后用ArcGIS隨意轉換需要的shp等格式。

  • 方法3:借助QGIS

將下載的數據拖入到QGIS軟件中,直接顯示(如果不顯示則如要導入投影坐標系),然后再QGIS的內容列表選擇數據右鍵單擊-選擇Geometry Tools-單擊Export/Add geometry colums導出為shp后綴的數據,即可在ArcGIS軟件中編輯使用。

?

總結

以上是生活随笔為你收集整理的OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。