【问题标题】:Possible to create my own OSM XML file? If so, how to use the < relation > tag?可以创建我自己的 OSM XML 文件吗?如果是这样,如何使用 <relation> 标签?
【发布时间】:2017-10-25 10:18:00
【问题描述】:

您可能知道,OpenStreetMap (OSM) 数据集是公开可用的,但仅包含由志愿者上传的随机标记的节点/坐标。我有一个带有节点和方式的干净城市级数据集(例如,在“主街”上,一个路段内有几个坐标),我想为一个研究项目构建我自己的 OSM XML 文件。有可能吗?

在问这个问题之前,我找到了这个链接(http://wiki.openstreetmap.org/wiki/OSM_XML)并制作了一个只有&lt; node &gt;&lt; way &gt;标签的OSM XML文件。但是,当我调用osrm-extract 时,我得到了XML 解析错误,它抛出了osmium::xml_error 的一个实例。如果是因为没有&lt; relation &gt;引起的,在什么情况下需要使用这个标签?如何为我自己构建的 OSM XML 文件建立关系?

提前感谢您的回答:-)

【问题讨论】:

标签: xml openstreetmap


【解决方案1】:

这首先与关系无关。您的节点看起来很奇怪,需要修复。正确的属性名称是 lat/lon 而不是 lat/lng ,如您的示例所示。进行此更改后,我可以在 JOSM(Java OpenStreetMap 编辑器)中打开您的文件。

顺便说一句:我的 OSRM 版本触发了您的示例文件的另一个错误:called after throwing an instance of 'osmium::invalid_location' - 显然指向错误的 OSM XML 文件格式。不过,不确定为什么您会收到不同的错误消息。

例子:

之前(不正确)

lat="37.7976165" lng="-122.4512781"

之后(更正)

lat="37.7976165" lon="-122.4512781"

由于版权和机械编辑政策可能存在问题,请记住不要将此数据上传到 OpenStreetMap!

【讨论】:

  • 哎呀!感谢您指出错误。数据集不会公开共享:-)
【解决方案2】:

在运行osmium check-refs时,发现一些错误:

Found a node after a way.
This command expects the input file to be ordered: First nodes in order of ID,
then ways in order of ID, then relations in order of ID.

Node IDs out of order.
This command expects the input file to be ordered: First nodes in order of ID,
then ways in order of ID, then relations in order of ID.

通过osmium show

lon/lat:   214.7483647,214.7483647 INVALID LOCATION!

正如 mmd 所指出的,应该使用 lat/lon 而不是 lat/lng

【讨论】:

  • 感谢您的回答,以及您提到的工具:-)
猜你喜欢
  • 2012-06-08
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多