こんにちは。
ストリーム対応型の GIS データ形式(下記の2種類)をLeaflet地図上に表示しました。
- flatgeobuf ← なおここから今回のデータファイルおよびサンプルソースを入手
- geojson stream (newline delimited GeoJSON; GeoJSONL)
入手したソースを書き換え、ローカルファイル(gzip圧縮にも対応)読み込みとしました。内部では表示に至る各段階をストリーム型(逐次型)で処理します1。
ソースおよびデモ動作はこちら:
データファイルサイズ比較
ファイルサイズ比較2
$ ogr2ogr -f GeoJSONSeq /vsistdout/ UScounties.fgb | gzip > UScounties.jsonl.gz
$ ls -lh
13M UScounties.fgb
7.6M UScounties.fgb.gz
20M UScounties.jsonl
5.8M UScounties.jsonl.gz
-
表示も iteration ループのストリーム型で処理し、その内では都度都度、更新を行なわせています。その反面、全ての表示を完了するまでの処理時間は顕著に増大します。 ↩
-
参考:"Parquet on the Web" (observablehq.com) ↩