リンク先のチュートリアルは、出発点として最適です。自分ですべてを理解しようとする前に、それを見ておけばよかったと思います。:)
私が理解しているところによると、おそらくgdal
. 他のエラーが表示される場合は、質問に投稿してください。
次のコマンドを実行して、ogr2ogr を動作させることができます。
brew install gdal
ここでは背景情報をいくつかご紹介しますので、そこで何が起こっているのかをよりよく理解していただけます。
topojson
とogr2ogr
は 2 つの異なるユーティリティです。ogr2ogr
はgdal
パッケージの一部であり、私たちの場合、シェープファイルから GeoJSON を生成するために使用されます。
GDAL は、Open Source Geospatial Foundation によって X/MIT スタイルのオープン ソース ライセンスの下でリリースされている、ラスター地理空間データ形式のトランスレータ ライブラリです。ライブラリとして、サポートされているすべての形式の呼び出し側アプリケーションに単一の抽象データ モデルを提示します。また、データの変換と処理に役立つさまざまなコマンドライン ユーティリティも付属しています。
TopoJSON は、以前の GDAL 変換からのかなり大きな GeoJSON 出力を圧縮するために使用されます。離散点ではなく円弧でパスを指定することにより、冗長性を減らします。実際、それはかなりきれいです:
TopoJSON は、トポロジをエンコードする GeoJSON の拡張です。ジオメトリを個別に表すのではなく、TopoJSON ファイル内のジオメトリは、アークと呼ばれる共有線分をつなぎ合わせます。TopoJSON は冗長性を排除し、GeoJSON よりもはるかにコンパクトなジオメトリ表現を提供します。一般的な TopoJSON ファイルは、同等の GeoJSON ファイルよりも 80% 小さくなっています。さらに、TopoJSON は、トポロジーを維持する形状の単純化、自動マップ カラーリング、カートグラムなど、トポロジーを使用するアプリケーションを容易にします。
これら 2 つのステップ ( shapefile -> GeoJSON -> TopoJSON ) の出力は、JavaScript で簡単に解釈できる JSON 文字列になります。実際にマップを描画するには、描画コードで topojson を使用して GeoJSON に戻す必要があります。
前述の 2 つの密接に関連した JSON 地理データ形式、GeoJSON と TopoJSON を思い出してください。データは TopoJSON の方が効率的に保存できますが、表示するには GeoJSON に戻す必要があります。このステップを分割して明示的にします。
var subunits = topojson.object(uk, uk.objects.subunits);