gpt4 book ai didi

geolocation - Openstreetmap - 按城市划分的街道

转载 作者:行者123 更新时间:2023-12-05 01:48:50 25 4
gpt4 key购买 nike


我正在开发一个基于从 OSM(开放街道 map )收集数据的系统。

当我(从 OSM 数据库)获取一个覆盖许多城市的区域时,我有没有办法找出哪条街道(从庞大的 xml 列表中)属于哪个城市?试图使用 OSM 服务器端脚本,但没有找到我对该手册的兴趣点。

看起来我可以采用属于该方式的任何(地址)节点并解析它以从中获取街道名称和城市名称。
但真正的问题是有些街道没有地址节点。所以看起来我有一大堆街道、城市,但无法确定哪些街道属于哪些城市?

我很乐意阅读任何有帮助的答案。

最佳答案

您可以使用overpass api 下载整个城市。您应该首先找到定义城市的关系的 id(如果您的系统中还没有它,您可以通过 overpass api 查询它)。例如Vuppertal有62478。然后在id上加上3600000000发送发送以下POST请求到http://www.overpass-api.de :

<union>
<area-query ref="3600062478"/>
<recurse type="node-relation" into="rels"/>
<recurse type="node-way"/>
<recurse type="way-relation"/>
</union>
<print mode="body"/>

您还可以使用 theis api 检查各个点属于从城市下载街道的位置,了解更多信息 see

更新:要查找城市关系,请将以下 POST 请求发送至 http://overpass-api.de/api/interpreter :

   <query type="relation">
<has-kv k="name" v="Wuppertal"/>
<has-kv k="type" v="boundary"/>
</query>
<print mode="body"/>

如果你想限制更多,你可以添加更多过滤器,比如 de:place=city 如果你只看 Germanz 或 admin_level= 等。如果你想获得更多结果,你只能使用名称:

   <query type="relation">
<has-kv k="name" v="Wuppertal"/>
</query>
<print mode="body"/>

这取决于你,你认为“城市”是什么。

关于geolocation - Openstreetmap - 按城市划分的街道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com