选择方式作为具有路径中心的节点作为节点坐标

时间:2015-06-10 22:05:02

标签: openstreetmap overpass-api

如何选择方式作为节点中心坐标的节点作为节点坐标?

目前我的查询如下:

[out:json];
way
  [amenity=drinking_water]
  ({{bbox}});
out center;

我的数据如下:

{
  "type": "way",
  "id": 123,
  "center": {
    "lat": 1.23,
    "lon": 4.56
  },
  "nodes": [
    ...
  ],
  "tags": {
    "name": "test"
  }
}

但我需要这样格式的数据:

{
  "type": "node",
  "id": 123,
  "lat": 1.23,
  "lon": 4.56,
  "tags": {
    "name": "test"
  }
}

任何想法如何使用立交桥转换数据?

背景

我喜欢将立交桥数据转换为gpi,但它接缝表明gpsbabel无法将osm方式转换为gpi的路径点。

我只是得到这样的错误:osm: Way reference id "123" wasn't listed under nodes!

1 个答案:

答案 0 :(得分:0)

我想这里的问题是gpsbabel在您的回复中不理解center。相反,它试图读取所有节点及其坐标。但是你的回复不包括任何节点,只是对它们的引用。

您可以修改查询以返回所有必需的节点,而不仅仅是方式的中心:

[out:json];
way
  [amenity=drinking_water]
  ({{bbox}});
(._;>;);
out;

然后gpsbabel可以解析此响应,但我不确定它是否是您正在寻找的响应。