こんにちは。
複数の GeoJSON ファイルのデータをマージ(合体、連結)させて一つのファイルを作りました(jq コマンドを利用、対象ファイル例は *geo.json)。
$ jq '.features[]' *geo.json | jq -s '{"type":"FeatureCollection", "features":.}' > merged_geo.json
- また条件抽出も加えてみました(この例は
properties.name != "")。
$ jq '.features[]' *geo.json | jq -s -c 'map(select(.properties.name != ""))[] ' | jq -s '{"type":"FeatureCollection", "features":.}' > merged_geo.json
GeoJSONL(cat コマンド利用)
なお Newline-delimited GeoJSON (GeoJSONL) ファイル1ならばcatコマンドを用いてマージできます(対象ファイル例は *geo.jsonl)。
$ cat *geo.jsonl > merged_geo.jsonl
- 上記と同様に条件抽出も加えてみました(この例は
properties.name != "")。
$ cat *geo.jsonl | jq -s -c 'map(select(.properties.name != ""))[] ' > merged_geo.jsonl
GeoJSONL + gzip 圧縮
gzip 圧縮された GeoJSONL ファイルも、cat コマンドでマージできます。
$ cat *geo.jsonl.gz > merged_geo.jsonl.gz
他のフォーマットデータ
ogrmerge.py がマージに使えます。
$ ogrmerge.py -f FlatGeobuf -o merged.fgb *.fgb