1 个不稳定版本
0.1.0 | 2018年12月29日 |
---|
#11 在 #pbf
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