【问题标题】:Downloading OSM data for large area大面积下载 OSM 数据
【发布时间】:2021-08-14 15:21:49
【问题描述】:

我正在尝试从开放的街道地图中提取整个墨尔本市的道路网络。城市的边界框大致为 min_lon: 144.27, min_lat: -38.57, max_lon: 145.60, max_lat: -37.56。但是,由于这个区域很大,大部分API都无法处理这个查询(例如,我尝试从https://www.openstreetmap.org下载,并在QGIS中通过API,不幸的是,它们都不起作用)。

基本上,我只需要墨尔本市所有高速公路的道路类型和坐标。知道如何使用 OSM 或其他资源提取这样的图吗?

【问题讨论】:

  • 不清楚的地方:“请放大或选择较小的区域,或使用下面列出的来源之一进行批量数据下载。” ?顺便说一句,map 确实很大(1.508.818.442 字节),目前正在从 Overpass API 下载。
  • 文件可以在这里下载:WeTransfer:we.tl/t-CtWzeuuX9y(从现在起7天内)????
  • @Luuk 谢谢Luuk,但是如果你打开你共享的地图文件,在最后一行,它仍然显示错误(“ 运行时错误:查询在第1行的“打印”中超时203 秒后。")。好像只下载了部分地图。
  • 我期待一个错误,所以我没有查看文件本身,我可能应该这样做。第二种选择是拆分,看我的回答。

标签: database geospatial openstreetmap


【解决方案1】:

OSM API 不是为批量下载而设计的。 API 的主要用途是编辑地图。

您可以通过下载完整的planet 或通过country or area extract 下载更大的区域。之后,您可以将文件分割成更小的区域,例如使用来自osmium-toolosmium-extract

【讨论】:

    【解决方案2】:

    OpenstreetMap 状态:

    此区域太大,无法导出为 OpenStreetMap XML 数据。 请放大或选择较小的区域,或使用其中一种来源 下面列出了批量数据下载。

    如果你将你的区域分成 4 个部分,我没有因为超时而出现错误,使用 overpass API。

    map1:  <bounds minlat="-39.0800000" minlon="143.6833000" maxlat="-37.9193000" maxlon="145.3175000"/>
    map2:  <bounds minlat="-38.0000000" minlon="143.6833000" maxlat="-37.0000000" maxlon="145.3175000"/>
    map3:  <bounds minlat="-39.0000000" minlon="145.0000000" maxlat="-38.0000000" maxlon="146.0000000"/>
    map4:  <bounds minlat="-38.0000000" minlon="145.0000000" maxlat="-37.0000000" maxlon="146.0000000"/>
    

    注意:我没有测试您是否应该在区域之间有(小)重叠。 (也不是最终获得所有数据的重叠应该有多小)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 2017-11-16
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多