Geolocation 开放式街道地图-城市街道

Geolocation 开放式街道地图-城市街道,geolocation,openstreetmap,Geolocation,Openstreetmap,我正在开发一个基于OSM(开放式街道地图)数据收集的系统 当我(从OSM数据库)获取一个覆盖许多城市的区域时,我有没有办法(从庞大的xml列表中)找出哪条街道属于哪座城市?试图使用OSM服务器端脚本,但在该手册中找不到我感兴趣的地方。 看起来我可以获取属于该方式的任何(地址)节点,并对其进行解析以从中获取街道名称和城市名称。 但真正的问题是,有些街道没有地址节点。看起来我有一大堆的街道,城市,但是没有办法决定哪些街道属于哪些城市? 我很乐意阅读任何有帮助的答案。您可以使用立交桥api下载整


我正在开发一个基于OSM(开放式街道地图)数据收集的系统

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

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


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

您可以使用立交桥api下载整个城市。您应该首先找到定义城市的关系的id(如果您的系统中还没有立交桥api,您可以通过立交桥api查询它)。例如,Vuppertal有62478个。然后将3600000000添加到id并发送以下POST请求至:


更新:要查找城市关系,请将以下POST请求发送到:


如果您想要更严格,您可以添加更多过滤器,如de:place=city,如果您只查看Germanz或admin_level=something等。如果您想要获得更多结果,您只能使用以下名称:

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


<> P>这取决于你,你认为什么是“城市”?

你如何查询城市的关系ID的立交API?我最近遇到过……您可以搜索城市,单击其“详细信息”链接,OSM关系ID位于顶部。我仍然在寻找一个API端点,如果有任何遗漏,请考虑接受答案或评论。
   <query type="relation">
     <has-kv k="name" v="Wuppertal"/>
     <has-kv k="type" v="boundary"/>
   </query>
   <print mode="body"/>
   <query type="relation">
     <has-kv k="name" v="Wuppertal"/>
   </query>
   <print mode="body"/>