您请求了太多节点(限制为50000).请求较小的区域,或使用planet.osm

Nul*_*ion 4 openstreetmap

我正在使用http://www.openstreetmap.org/导出实用程序来生成区域的.osm(xml映射文件),以便稍后生成具有渗透的.map文件,但我无法提取.osm,因为我收到了这个错误:

"你请求的节点太多(限制为50000).请求较小的区域,或使用planet.osm"

如何生成超过50.000个节点的地图?如何使用planet.osm?我被阻止了:S

Mor*_*gil 7

正如消息所说,如果您需要处理大量数据,通常有两种选择:

  1. 生成较小的请求,然后在处理之前将它们合并(通常这可能不是理想的方法).
  2. 下载planet.osm,它是整个 OpenStreetMap 的数据库转储,并对其进行处理.由于它是一个巨大的文件(几GB),处理这个文件的第一步通常是提取你感兴趣的部分,并且已经有预处理提取(例如在Geofabrik上).


Gra*_*her 6

我最喜欢的方法是使用Overpass API。就是这样:

将类似的内容放入http://www.overpass-api.de/query_form.html的查询表单中,将四个边界边 s、n、w 和 e 更改为您的查询的南边、北边、西边和东边。所需的数据。(使用OpenStreetMap导出选项卡拖出一个矩形并获取边界。)

<osm-script timeout="10000" element-limit="1073741824">
  <union into="_">
    <bbox-query into="_" s="52" n="52.4" w="4.8" e="5"/>
    <recurse from="_" into="_" type="up"/>
    <recurse from="_" into="_" type="down"/>
  </union>
  <print from="_" limit="" order="id"/>
</osm-script>
Run Code Online (Sandbox Code Playgroud)

我直接从一位权威人士那里得到了这个方法:Overpass 的开发者之一。我已经成功使用了。一个附带条件:它递归两次,以获取与矩形重叠的关系成员的所有路径,然后获取这些路径中的所有点。

该脚本将超时设置为 10,000 秒,并将元素限制设置为适当大的数字。