1. ホーム
  2. d3.js

[解決済み] GeoJSONとTopoJSONの違いについて

2023-01-20 22:09:23

質問

GeoJSONとTopoJSONの違いは何ですか、また、どのような場合にどちらを使うべきですか?

その の説明では、GitHub上のTopoJSONは を見ると、TopoJSONのファイルは80%も小さくなっていることがわかります。では、なぜTopoJSONを常に使用しないのでしょうか?

どのように解決するのか?

ファイルサイズやトポロジーを気にするならば、TopoJSONを使用します。どちらも気にしないのであれば、単純化のためにGeoJSONを使用します。

TopoJSONの主な利点は、サイズです。冗長性を排除し、座標のより効率的な固定精度の整数エンコーディングを使用することにより、TopoJSON ファイルは、GeoJSON ファイルよりもしばしば一桁小さくなっています。TopoJSON ファイルの二次的な利点は、トポロジーをエンコードすることで、トポロジー保存の簡略化などの有用なアプリケーションがあることです。 MapShaper のような)トポロジーを保持した簡略化や、自動メッシュ生成のような便利な用途があります。 この例では ).

これらの利点は、より複雑なファイル形式という代償を伴います。例えば、JavaScript では、一般的に TopoJSON クライアント ライブラリ などの標準的なツールで使用するために、TopoJSON を GeoJSON に変換するために使用します。 d3.geoPath . (Pythonでは topojson.py .) また、TopoJSONの整数形式は座標の量子化を必要とするため、気をつけないと丸め誤差が発生することがある。(のドキュメントを参照してください)。 topojson -q .)

トポロジーを必要としないジオメトリのサーバーサイドの操作には、おそらく GeoJSON がよりシンプルな選択でしょう。そうでない場合、トポロジーを必要としたり、クライアントにジオメトリを送信したい場合は、TopoJSONを使用します。