使用OpenStreetMap获取特定国家/地区的所有城市

Tob*_*mpe 4 json openstreetmap

我试图找到一种方法来使用OpenStreetMap API获取特定国家/地区中所有城市的列表,其中包含用于开发iOS应用程序的经度,纬度.

但是我无法这样做.我一直在尝试使用Overpass API,但我找不到合适的参数列出所有城市(而不仅仅是前1000名左右).

有没有人知道这样做的方法返回适当的JSON?

谢谢

Tobias Timpe

小智 8

你的查询不是(恕我直言)一个很好的API,因为你的结果非常稀疏,但需要运行所有数据(没有一般索引).

因此,获取OSM extact,使用渗透过滤它,然后对结果进行自己的处理.

请记住,在OSM中可以对城镇进行不同的建模:

  • 作为标记节点,例如place = city
  • 作为土地利用区域(也有额外的地方标签)
  • 作为边界,因此,(多面)关系

您可能还想查看地理编码的nominatim和分发OSM数据的法律常见问题解答.