質問

誰かが知らない場合に備えて:あ カートグラム は、国/地域に依存する数値プロパティがそれぞれの地域を拡大縮小して、そのプロパティの密度が(ほぼ)一定になるようにするマップのタイプです。例としては、

Example cartogram

から ワールドマッパー.org. 。この例では、国は人口に応じてスケールされ、人口密度はほぼ一定になります。

言うまでもなく、これは本当に素晴らしいです。このような地図を描画するための Matplotlib ベースのライブラリを知っている人はいますか?worldmapper.org で使用されている方法は (1) で説明されているため、これをまだ誰も実装していないのは驚くべきことですが...

また、たとえ Matplotlib 用に作られていないとしても、他のカートグラム ライブラリについても知りたいと思っています。

(1) マイケル T.ガストナーと M.E.J.Newman、密度平等化マップを生成するための拡散ベースの方法、Proc。ナット。アカド。科学。米国、101、7499-7504 (2004)。で入手可能 arXiv.

役に立ちましたか?

解決

それが基づいているものの、

こののは、ありますし、別のアルゴリズム(およびそれのいえESRIサイト上で、それは)のArcGISを必要としません。もちろん、あなたが統計地図を持っていたら、あなたはmatplotlibの中でそれをプロットすることができます。

他のヒント

ここ D3 を使用してカートグラムを作成するための Javascript プラグインです。領域のサイズが正確であることをあまり気にしない場合、これは優れたシンプルなソリューションです。精度が重要な場合は、より正確な結果を得るためにアルゴリズムのパラメーターをより自由に操作できる他のオプションが利用可能です。

私が知っている 2 つの優れたスタンドアロン プログラムを以下に示します。

スケープトードはとても使いやすいです。シェープファイルを与え、スケーリングに使用する属性を指定し、いくつかの精度パラメータを設定するだけです。疑問がある場合は、 この郵便受け プロセスを説明します。

Carto3F はより複雑で、より高い精度を可能にしますが、理解するのが少し難しく、多くのパラメーター設定があり、それらを説明するドキュメントがあまりありません。

もあります。 QGIS カートグラム プラグイン, 、Pythonで書かれています。ただし、私はそれを機能させることができていないので、それについてコメントすることはできません。

要するに、いいえ。しかし、ニューマンは、彼とガストナーのメソッドの優れた小さな実装を持っています。 彼のウェブサイトで. 。インストールは簡単で、コマンドラインから実行できます。このソフトウェアを使用して私にとってうまくいったワークフローの例を次に示します。

  1. ある領域にわたる密度推定のグリッドを計算します。Pythonで。それを数値の行列として保存します。
  2. を実行します。 cart コマンド ラインからの入力として、または Python のサブプロセスとして密度行列を使用してプログラムします。
  3. プログラムは、各グリッド点の新しい座標のリストを返します。
  4. シェープファイルのポイントをパイプします。 interp プログラムを新しいシェープファイルにコピーして、変換されたマップを取得します。

メインページにはわかりやすい説明があります。

geoplot.cartogram の機能で Geoplot:地理空間データの視覚化 - geoplot 0.2.0

は、それがハイレベルのPython地理空間プロットライブラリ、およびcartopyとmatplotlibのに拡張したものであると言います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top