我一直在尝试使用OpenStreetMap API获取特定国家所有城市的经度、纬度列表,以便开发iOS应用程序。
然而,我一直无法做到这一点。 我一直在尝试使用Overpass API,但我无法找到正确的参数来列出所有城市(而不仅仅是前1000个左右)。
有人知道一种返回正确JSON格式的方法吗?
我一直在尝试使用OpenStreetMap API获取特定国家所有城市的经度、纬度列表,以便开发iOS应用程序。
然而,我一直无法做到这一点。 我一直在尝试使用Overpass API,但我无法找到正确的参数来列出所有城市(而不仅仅是前1000个左右)。
有人知道一种返回正确JSON格式的方法吗?
我认为您的查询不适合使用API,因为结果非常稀少但需要运行所有数据(没有通用索引)。
因此,请获取OSM extact,使用osmosis进行过滤,然后对结果进行自己的处理。
请记住,在OSM中,城镇可以有不同的建模方式:
area["ISO3166-1"="CY"]->.a1;
(
nwr[place="city"](area.a1);
);
out body;
链接。打开控制台并点击运行以查看请求和响应。curl 'https://lz4.overpass-api.de/api/interpreter' \
--data-raw 'data=[out:json];area["ISO3166-1"="CY"]->.a1;
(
nwr[place="city"](area.a1);
);
out body;'
尝试使用Overpass_API
例如,德国的所有州:
http://overpass-api.de/api/interpreter?data=(rel[admin_level="4"](47,6,55,15););out;
curl 'http://overpass-api.de/api/interpreter' --data-raw 'data=(rel[admin_level="4"](47,6,55,15););out;'
运行了它,但是它返回了大量的数据。它能否更简洁一些?顺便问一下,它能返回 JSON 吗? - Toolkit