Osmium - 如何只保留一些标签名称?

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

我正在使用

osmium
工具从
planet.osm.pbf
文件中过滤一些数据,以便将该数据注入到
Nominatim
docker 中。

这是我的命令:

osmium tags-filter planet-latest.osm.pbf place=city,town,village -o planet-light.osm.pbf --overwrite

这正在按预期工作。然而,它为我保留了很多无用的数据。例如,它保留了所有地点的翻译。

巴黎样品:

 "namedetails": {
            "ref": "75",
            "name": "Paris",
            "name:af": "Parys",
            "name:am": "ፓሪስ",
            "name:an": "París",
            "name:ar": "باريس",
            "name:ba": "Париж",
            "name:be": "Парыж",
            "name:nl": "Parijs",
            "name:no": "Paris",
            "name:oc": "París",
            "name:or": "ପ୍ୟାରିସ",
            "name:os": "Париж",
            "name:pa": "ਪੈਰਿਸ",
            "name:pl": "Paryż",
            "name:ps": "پاريس"
...
}

由于我的数据库中有很多记录,所有这些翻译都占用了很多地方,我不需要它们。

有没有办法只保留一些标签?例如,我只想保留以下标签:

name
name:en
name:fr

openstreetmap nominatim osmium
1个回答
0
投票

这个问题可能会在 https://gis.stackexchange.com/ 上得到更好的答复。

我也遇到这个问题了。如果您愿意从

pbf
导出到
geojson
,则
osmium export
命令允许标签过滤。如果您有一个像这样的配置文件
config.json

{
    "attributes": {
        "type":      false,
        "id":        false,
        "version":   false,
        "changeset": false,
        "timestamp": false,
        "uid":       false,
        "user":      false,
        "way_nodes": false
    },
    "format_options": {
    },
    "linear_tags":  false,
    "area_tags":    false,
    "exclude_tags": [],
    "include_tags": ["name:en"]
}

那么输出将仅包含

include_tags
键(此处为
name:en
)中指定的标签。您可以按如下方式使用它:

osmium export input.pbf --config=config.json --keep-untagged --output=output.geojson

请注意,除非您使用

keep-untagged
标志,否则没有选定标签的行将被丢弃。

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