如何在OSM地图中过滤城市的门牌号码



有人有任何文档或知道如何在OpenStreetMap或Nomatim上获得一个城市的所有门牌号码吗?

我搜索了一些文档,但似乎不起作用。

或者任何有api文档的人都可以做到这一点,请帮助我。

谢谢,

没有直接的API可以直接吐出特定城市的所有地址,甚至是所有门牌号,至少我不知道。

如果你可以将包含你选择的城市的OSM行星摘录导入osm2pgsql数据库,那么运行起来会很容易:

SELECT DISTINCT "addr:housenumber" 
FROM planet_osm_point 
WHERE "addr:city=..."
UNION 
SELECT DISTINCT "addr:housenumber" 
FROM planet_osm_polygon
WHERE "addr:city=..."

也可以使用Overpass API,特别是对于Overpass Turbo前端,可以向其提供查询;addr:housenumber=*在城市名称中";,但默认情况下,它将返回完整的对象数据,而不仅仅是像门牌号这样的单个字段。

RawOverpassneneneba API查询可能就可以做到这一点,但我对它的查询语法还不太深入。也许这些例子可以给你一个可能奏效的提示。

但天桥API查询语言不一定适用于那些内心虚弱的人…:O

最新更新