Osmium:补充标签 addr:city to amenity=school query

问题描述 投票:0回答:1

我正在使用包含来自瑞士的 OpenStreetMap 数据的 .pbf 文件,我使用以下 Osmium 命令提取包含标签 amenity=school,college 的每个条目:

osmium tags-filter switzerland-exact.osm.pbf nwr/amenity=school,college \ 
    -o schools-in-switzerland.osm.pbf

之后我将数据导出为 JSON 并使用 python 脚本处理它以将数据转换为以下格式:

[
    {
        "name": "school1",
        "city": "city1",
        "postcode": "plz1",
        "country": "switzerland"
    },
    {
        "name": "school2",
        "city": null,
        "postcode": "plz2",
        "country": "switzerland"
    },
    ...
]

我在 python 脚本中使用以下标记来进行属性映射:addr:city->city,addr:postcode->postcode。

由此产生的问题是某些学校(例如示例中的 school2)不包含城市和/或不包含邮政编码。由于 OSM 理论上拥有识别学校位置所需的所有数据,我认为应该可以以某种方式补充提取过程中缺失的标签。

我不一定要使用 Osmium,因此,我愿意接受其他解决方案。

openstreetmap osmium
1个回答
0
投票

我找到了一个蛮力方法......在pbf文件中我有形状的坐标,我只是使用第一个经度和纬度来查询地址https://nominatim.org/ ,.例如。: https://nominatim.openstreetmap.org/reverse?format=json&lat=33.2038405&lon=-96.7436876

© www.soinside.com 2019 - 2024. All rights reserved.