从OpenStreetMap获取城市数据及转为ESRI .shp数据的方法

一、根据城市名获取对应ID

1、先从OSM官网搜索想要获取的城市名称,获取其在OSM中的标准格式
在这里插入图片描述在这里插入图片描述

2、进入 Overpss API,点击第二栏的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>

点击右侧的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前加上360后得到的数字。点击右侧的Query按钮,即可将结果从浏览器下载到本地,文件名为interprept,打开后即可得到路网数据。

解释:ID仅仅为所查询城市的行政区边界,如果想得到该市边界内所有的地图数据,我们需要在该id号基础上加3,600,000,000,得到最终的ID值;

三、OSM下载数据转为ESRI .shp数据

运用GeoConverter在线转换工具
在这里插入图片描述

选择Vector File to…,上传对应的interprept,然后输出格式选择ESRI Shapefile (.shp),待转换结束后下载到电脑就行。

四、数据示例

将下载好的数据解压,可以看到数据中包括四个图层。接下来展示一下自己下载好的武汉市的数据。
在这里插入图片描述

Lines.shp包括道路线和水系线.lines.shp

highway用于识别任何类型的道路、街道或小路。该值有助于表明公路在整个公路网中的重要性。waterway包括河流、运河和小溪等线状水系,以及湖泊、水库和码头等水域。相关功能包括船闸、堰、坝和急流等航行障碍。属性的意义可在ARCGIS上查询:
在这里插入图片描述

multilinestrings.shp包括各种路线,如公交线路、地铁线路等等,具体的属性在Other_tags中有详细描述。
在这里插入图片描述
在这里插入图片描述

multipolygon.shp包括各种面。按type可分为 ‘ ’、boundary、multipolygon三个类别。其中boundary是行政边界,更具体的等级属性由admin_leve给出。‘ ’ 中包括了很多建筑类型,如居民地、商业建筑等。此外other_tags中还包括了许多属性,如高度或楼层数。multipolygon包括除以上两种之外其它的多边形,如池塘、公园等。

在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值