微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Overpass/Nominatim 获取某个点周围城市的 OpenStreetMap-Id

如何解决使用 Overpass/Nominatim 获取某个点周围城市的 OpenStreetMap-Id

我想查询给定点所在的自治市(cita/town),但不仅要查询它的名称,还要查询该城市/城镇区域的 OpenStreetMap id,以便从该城市/城镇获取更多标签并唯一标识它。例如,对于 id 为 3127879237 的节点(位于奥地利维也纳),我想取回维也纳地区的 id 3600109166

到目前为止,我发现的两种方法都只能部分做到这一点:

使用 Overpass 以下查询返回所有周围的边界:

node(3127879237);
is_in;
area._["admin_level"]["boundary"="administrative"];
out;

其中之一是我正在寻找的城市/城镇边界,但它没有任何标记表明它是城市/城镇,而且似乎自治市的 admin_level 因大小而异国家。

Nominatim 可以找出城市/城镇,但它只返回它的名字,它不一定是唯一的,而不是它的 OSM-id:

https://nominatim.openstreetmap.org/lookup?osm_ids=N3127879237&format=json

从 Nominatim 获取名称然后通过从 Nominatim 返回的名称过滤is_in 结果是实现这一目标的唯一方法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。