GeoJSONとTopoJSONの違いは何ですか?いつ使用するのですか?
GitHubでのTopoJSONの説明は、TopoJSONファイルが80%小さいことを意味します。では、TopoJSONをいつも使ってみませんか?
GeoJSONとTopoJSONの違いは何ですか?いつ使用するのですか?
GitHubでのTopoJSONの説明は、TopoJSONファイルが80%小さいことを意味します。では、TopoJSONをいつも使ってみませんか?
回答:
ファイルサイズやトポロジが気になる場合は、TopoJSONを使用してください。どちらも気にしない場合は、簡単にするためにGeoJSONを使用してください。
TopoJSONの主な利点はサイズです。冗長性を排除し、座標のより効率的な固定精度整数エンコーディングを使用することにより、TopoJSONファイルはGeoJSONファイルよりも1桁小さいことがよくあります。TopoJSONファイルの2番目の利点は、トポロジのエンコードに、トポロジ保存の簡略化(MapShaperと同様)や自動メッシュ生成(この例のコロプレスの状態と状態の境界のように)などの便利なアプリケーションがあることです。
これらの利点には代償が伴います。より複雑なファイル形式です。JavaScriptでは、たとえば、あなたが一般的に使用したいTopoJSONクライアントライブラリをのような標準ツールで使用するためにGeoJSONにTopoJSONを変換するd3.geoPath。(Pythonでは、topojson.pyを使用できます。)また、TopoJSONの整数形式では座標を量子化する必要があるため、注意しないと丸め誤差が発生する可能性があります。(のドキュメントを参照してくださいtopojson -q
。)
トポロジーを必要としないジオメトリのサーバー側操作の場合、GeoJSONがおそらくより簡単な選択です。それ以外の場合、トポロジが必要な場合、またはジオメトリをネットワーク経由でクライアントに送信する場合は、TopoJSONを使用します。
TopoJSONは、行政区域のように相互に「スナップ」する整頓された機能に最適ですが、より乱雑なデータや有機的なデータには役立ちません。データが単にポイントである場合、TopoJSONはまったく役に立ちません。
それは多くの考慮事項に依存します。それらの中には次のものがあります。
1)表現したい1つまたは複数の機能の性質(データモデル)2)それらの機能に関連付けたい属性3)これらの機能をページ上でどのように動作させたいか(静的vs動的)
しかし、これは要約で答えるのが難しい質問です。いくつかの詳細に関しては、隣接するポリゴンカバレッジがある場合、またはフィーチャが境界を共有している別の状況がある場合、topojsonのモデルを使用すると、冗長性を活用してモデルに組み込むことができます。
ドキュメントを読み、例(bl.ocks.orgなど)を分析してから、データを取得してgeojsonとtopojsonの両方で表現し、独自の視覚化を作成します。