問題タブ [cartogram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4211 参照

matplotlib - Matplotlib でカートグラムを描画しますか?

誰かが知らない場合:カートグラムは、国/地域に依存する数値プロパティがそれぞれの地域をスケーリングして、そのプロパティの密度が (ほぼ) 一定になるようにする地図の一種です例は

カートグラムの例

worldmapper.orgから。この例では、国は人口に応じてスケーリングされるため、人口密度はほぼ一定になります。

言うまでもなく、これは本当にクールです。そのようなマップを描画するための Matplotlib ベースのライブラリを知っている人はいますか? worldmapper.org で使われている方法は(1)で説明されているので、まだ誰も実装していないとは驚きです...

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

(1) Michael T. Gastner および MEJ Newman、密度均等化マップを作成するための拡散ベースの方法、Proc. ナット。アカデミー。科学。米国、101、7499-7504 (2004)。arXivで入手できます。

0 投票する
2 に答える
7021 参照

r - R のカートグラム + コロプレス マップ

私は最近、ggplot2 を使用して一連のコロプレスを作成しています。ggplot2 を使用してこれに似たマップを作成できるかどうか疑問に思っていました ( WorldMapperから):

ここに画像の説明を入力

これは、相対的な人口数を表すためにシェープファイルのポリゴンが歪められたコロプレスです。これはカルトグラムと呼ばれるものだと思います。彼らはこれを他の変数の束で行います。Choropleth R Challengeの精神で、 Rを使用してこれを行う方法を知っている人はいますか?

0 投票する
2 に答える
784 参照

r - Rでパッケージ「カート」をダウンロードする

ガストナーの「拡散ベースのカートグラムによるマッピング」を作成するのに役立つRパッケージ「カート」をどこでダウンロードできるか知っている人はいますか? R で install.package を試してみましたが、R 2.15 では使用できないとのことです。R-forge にそれに関するページがありますが、パッケージのダウンロード方法は説明されていません。

ありがとう。

0 投票する
1 に答える
393 参照

javascript - D3で地理的形状を同様のサイズにスケーリングする

D3のworld-countries.jsonファイルを使用して、世界の国のメルカトル図法を作成します。これを、連続していないカルトグラムのデータにバインドします。残念ながら、カナダ、米国、オーストラリアなどのサイズがはるかに大きいということは、これらの国の1つの単位が、たとえばマルタの複数の単位と空間的に同等であることを意味します。

私がする必要があると思うのは、最初はカナダとマルタが同じサイズになるように、geojsonの形状を正規化することです。

私がそれをどのように行うかについて何か考えはありますか?

ありがとう!

更新:すべてのパスの幅と高さを小さな整数に明示的に設定しようとしましたが、後で変換によってオーバーライドされるようです。コードは次のとおりです。

0 投票する
1 に答える
504 参照

r - SpatialPolygonsDataFrame オブジェクトで Rcartogram を使用する

私はこの質問で尋ねられたのと同じことをしようとしています. Cartogram + choropleth map in Rですが、 SpatialPolygonsDataFrame から始めて、同じタイプのオブジェクトになることを望んでいます。

オブジェクトをシェープファイルとして保存し、scapetoadを使用して再度開き、元に戻すこともできますが、手順を完全に再現できるように、また数十のバリエーションを自動的にコーディングできるように、すべてを R 内に置きたいと思います。

私は github で Rcartogram コードをフォークし、これまでの努力をここに追加しました。

基本的に、このデモが行うことは、マップ上に SpatialGrid を作成し、グリッドの各ポイントで人口密度を検索し、これをcartogram()が作業するために必要な形式の密度マトリックスに変換することです。ここまでは順調ですね。

しかし、の出力に基づいて元のマップ ポイントを補間する方法はcartogram()?

ここには 2 つの問題があります。1 つ目は、マップとグリッドを同じ単位にして、補間を可能にすることです。2 つ目は、すべてのポリゴンのすべてのポイントにアクセスして補間し、それらをすべて正しい順序に保つことです。

グリッドはグリッド単位で、マップは投影単位です (例の longlat の場合)。グリッドを longlat に投影するか、マップをグリッド単位に投影する必要があります。spTransform()私の考えでは、偽の CRS を作成し、これを の関数と一緒に使用します。これpackage(rgdal)は、最小限の手間でオブジェクト内のすべてのポイントを処理するためです。

SpPDFオブジェクトにいくつかのレイヤーがあるため、すべてのポイントにアクセスすることは困難です。オブジェクト>ポリゴン>ポリゴン>ライン>座標だと思います。マップ全体の構造をそのまま維持しながら、これらにアクセスする方法はありますか?

0 投票する
1 に答える
1217 参照

javascript - グローバル マップで情報を視覚化するための cartogram.js の使用

この例http://prag.ma/code/d3-cartogram/を適応させて、2002 年、2005 年、2010 年の世界中の肥満に関する情報を表示しようとしています。この視覚化: http://datauy.github.io/obesity-cartogramと同じページのコードへのリンク。

私が解決しようとしている問題は、アルベルサ投影の元の例のように形状が歪んでいないことです。色はうまくマッピングされているように見えますが、何らかの理由でマップを歪めることができません。スケールを変更してcartogram.jsコードを調べてみましたが、問題になる可能性のあるものは何もありません。データを変更して違いを大きくすると、色の違いはわかりますが、形状には何もありません。

何が起こっているのか手がかりはありますか?ありがとう!

0 投票する
2 に答える
642 参照

c# - シェープファイルから加重カートグラムを作成するアルゴリズム (およびツール)?

以下のような重み付きカートグラムを作成するには、どのアルゴリズムを使用できますhttp://www.brainpickings.org/index.php/2010/04/15/cartograms/か?

R のコード、.NET ライブラリ、および PostGIS を使用してシェープファイル プロットを生成できます。ただし、これらのゆがんだシェープファイル プロットを生成するために使用されるアルゴリズムの実装を見つけるために使用する検索用語が見つかりません。必ずしも世界地図だけをプロットしようとしているわけではないので、任意のシェープファイルを操作できる必要があります。

0 投票する
0 に答える
562 参照

javascript - d3 で Hexagonal Cartogram JSON ファイルを作成する

here にあるような六角形のカートグラムを d3.js で作成しようとしています。Mike Bostock は、彼の (素晴らしい) Eyeo 2013 の講演でこれについて言及し、ユーザーがポイント アンド クリックで六角形のポリゴンを描画できるツールを作成しました (こちら)。

私が疑問に思っているのは、ツールを使用して json/geojson で静的カートグラムを作成し、さまざまなポリゴン (上記の両方の例の国) を使用可能な形式に分類して d3 プロジェクトに取り込む方法です。

言い換えれば、六角形の目的のスケールと、各列挙単位 (例では国) に必要な六角形の数を決定するための計算が完了したら、カートグラムの json ファイルを作成するにはどうすればよいでしょうか?

0 投票する
1 に答える
449 参照

javascript - angularjsとd3 TypeErrorを使用したカートグラム:未定義は関数ではありません

d3.js と angularJS を使用してスリランカのカートグラムを作成しています。コントローラーとそれを作成する関数があります。というエラーを返します TypeError: undefined is not a function

HTML:

app.JS: