ラベル | 説明 | データ タイプ |
入力フィーチャ | カルトグラムを生成するために使用される入力ポリゴン フィーチャ。 | Feature Layer |
フィールド名 | 出力カルトグラムのポリゴン フィーチャの面積を決定する値を含む数値フィールド。 負の数や 0 を含むフィーチャは、出力から除外されます。 | Field |
出力フィーチャクラス | カルトグラムの変換が適用された出力ポリゴン。 | Feature Layer |
方法 (オプション) | 入力を変換し、カルトグラムを作成するために使用される方法を指定します。
| String |
サマリー
共通の境界を維持しながら、ポリゴンの面積を数値フィールドに基づいてそれぞれに比例するように歪めることで、カルトグラムを生成します。
図

使用法
各フィーチャの面積が、数値フィールドの値と入力内のすべてのフィーチャのそのフィールド合計値とを比較した値に比例するよう変形されたポリゴンを持つ、新しいポリゴンフィーチャレイヤーが出力されます。
入力レイヤーの属性データは、出力に転送されます。 シンボル表示とラベリングは、入力がシンボル表示されたレイヤーである場合に転送されます。
[方法] パラメーターには、次のオプションがあります。
- [フローベース] - このオプションは [拡散] 方法の進化系であり、ほとんどの場合はより高速に処理されます。 出力ポリゴンは異なる形状であるか、比較的歪みが多くなります。 これがデフォルトです。
- [拡散] - このオプションは、[フローベース] オプションよりも元の形状に対する歪みが少なく、処理が完了するまで時間がかかります。
処理時間を短縮するには、このツールを実行する前に、入力フィーチャで [ポリゴンの単純化 (Simplify Polygon)] ツールを実行します。 これにより、一部の出力ポリゴンが歪められ、著しく大きくなった場合、表示が単純化されすぎる結果になることがあります。
入力データまたはデータを表示するアクティブなマップは、その地域に適した正積図法を使用する必要があります。 そうすることで、入力ポリゴンの表示面積が、修正前の実際の面積をより正確に表せるようになります。 アクティブなマップがなく、データが非正積図法を使用する場合は、カートグラフィの座標系環境を使用します。 調整後のフィーチャ面積を正確に描写するには、同じ正積図法で結果を表示します。
[フィールド名] パラメーター値のフィールド値は、正の数である必要があります。 負の数や 0 を含むフィーチャは、出力に表示されません。
参考資料:
Gastner, Michael T. and M. E. J. Newman. 2004 "Diffusion-based method for producing density-equalizing maps." Proceedings of the National Academy of Sciences of the United States of America, 101(20): 7499–7504.
Gastner, Michael T., Vivien Seguy, and Pratyush More. 2018. "Fast flow-based algorithm for creating density-equalizing map projections." Proceedings of the National Academy of Sciences of the United States of America, 115(10): E2156-E2164.
パラメーター
arcpy.cartography.GenerateContiguousCartogram(in_features, field_name, out_features, {method})
名前 | 説明 | データ タイプ |
in_features | カルトグラムを生成するために使用される入力ポリゴン フィーチャ。 | Feature Layer |
field_name | 出力カルトグラムのポリゴン フィーチャの面積を決定する値を含む数値フィールド。 負の数や 0 を含むフィーチャは、出力から除外されます。 | Field |
out_features | カルトグラムの変換が適用された出力ポリゴン。 | Feature Layer |
method (オプション) | 入力を変換し、カルトグラムを作成するために使用される方法を指定します。
| String |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで GenerateContiguousCartogram 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/admin.gdb"
arcpy.cartography.GenerateContiguousCartogram(
"countries",
"population",
"countries_cartogram_population",
"FLOW-BASED")
次のスタンドアロン スクリプトで、GenerateContiguousCartogram 関数を使用する方法を示します。
# Name: GenerateContiguousCartogram_sample2.py
# Description: Output a contiguous cartogram of country polyons
# based on popuplation.
# Import System Modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/admin.gdb"
# Set Local Variables
in_features = "countries"
value_field = "population"
out_cartogram = "countries_cartogram_population"
algorithm = "DIFFUSION"
# Execute Generate Contiguous Cartogram
arcpy.cartography.GenerateContiguousCartogram(
in_features,
value_field,
out_cartogram,
algorithm)
ライセンス情報
- Basic: No
- Standard: Yes
- Advanced: Yes