#osm-pbf #osm #pbf #filter #geojson #openstreetmap

app osm-to-geojson

OSM PBF过滤和GeoJSON转换器

1 个不稳定版本

0.1.0 2018年12月29日

#11#pbf

BSD-3-Clause

10KB
141

osm-to-geojson 构建状态

一个命令行应用程序,可以根据标签过滤OSM PBF数据文件,然后将它们转换为NDJSON格式的GeoJSON特征。

安装

通过Cargo

构建和安装: cargo install osm-to-geojson

通过Docker

拉取并运行: docker run tanadeau/osm-to-geojson:latest 然后按以下方式传递选项或使用 --help。请注意,您需要使用 -v 选项将 docker run 中的目录挂载到包含输入文件的目录和输出文件。以下是一个示例。

用法

osm-to-geojson 0.1.0
Trent Nadeau <tanadeau@gmail.com>
OSM PBF Filtering and GeoJSON converter

USAGE:
    osm-to-geojson --file <file>... --tag-filter <filter>... --output <output>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --file <file>...            Input file path
    -t, --tag-filter <filter>...    Tag filter in form tag=val1|val2|... Multiple filters are ANDed.
    -o, --output <output>           Output file path (will be NDJSON file with a GeoJSON Feature per line)

示例

本地安装

osm-to-geojson \
    --file europe.osm.pbf \
    --file central-america.osm.pbf \
    --tag-filter 'amenity=hospital|clinic' \
    --tag-filter 'emergency=yes' \
    --output emergency-medical.ndjson

Docker执行

docker run \
    -v /path/to/local/data:/opt/data \
    -v /path/to/output/dir:/opt/output \
    tanadeau/osm-to-geojson:latest \
    --file /opt/data/europe.osm.pbf \
    --file /opt/data/central-america.osm.pbf \
    --tag-filter 'amenity=hospital|clinic' \
    --tag-filter 'emergency=yes' \
    --output /opt/output/emergency-medical.ndjson

上述命令将过滤给定两个输入文件中的节点和方式,只保留那些将 amenity 标签设置为 "hospital" 或 "clinic" 且将 emergency 标签设置为 "yes" 的那些。然后,它将这些转换为GeoJSON特征(节点为点,方式为多边形),然后将它们输出到指定路径的换行符分隔的JSON(NDJSON)文件中。

依赖项

~6.5MB
~133K SLoC