連続カルトグラムの生成 (Generate Contiguous Cartogram) (カートグラフィ)

サマリー

共通の境界を維持しながら、ポリゴンの面積を数値フィールドに基づいてそれぞれに比例するように歪めることで、カルトグラムを生成します。

連続カルトグラムの生成ツールの図
共通の境界を維持しながら、入力ポリゴンのサイズと形状を歪めることによって、各フィーチャの面積が属性フィールドの値 (ここでは、各フィーチャの総人口) を表します。

使用法

  • 各フィーチャの面積が、数値フィールドの値と入力内のすべてのフィーチャのそのフィールド合計値とを比較した値に比例するよう変形されたポリゴンを持つ、新しいポリゴンフィーチャレイヤーが出力されます。

  • 入力レイヤーの属性データは、出力に転送されます。 シンボル表示とラベリングは、入力がシンボル表示されたレイヤーである場合に転送されます。

  • [方法] パラメーターには、次のオプションがあります。

    • [フローベース] - このオプションは [拡散] 方法の進化系であり、ほとんどの場合はより高速に処理されます。 出力ポリゴンは異なる形状であるか、比較的歪みが多くなります。 これがデフォルトです。
    • [拡散] - このオプションは、[フローベース] オプションよりも元の形状に対する歪みが少なく、処理が完了するまで時間がかかります。
    どちらのオプションも、共有エッジを維持しながら、個々のポリゴンの全体的な形状を維持しようと試みます。

  • 処理時間を短縮するには、このツールを実行する前に、入力フィーチャで [ポリゴンの単純化 (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.

パラメーター

ラベル説明データ タイプ
入力フィーチャ

カルトグラムを生成するために使用される入力ポリゴン フィーチャ。

Feature Layer
フィールド名

出力カルトグラムのポリゴン フィーチャの面積を決定する値を含む数値フィールド。 負の数や 0 を含むフィーチャは、出力から除外されます。

Field
出力フィーチャクラス

カルトグラムの変換が適用された出力ポリゴン。

Feature Layer
方法
(オプション)

入力を変換し、カルトグラムを作成するために使用される方法を指定します。

  • フローベース多くの場合、処理が高速な、拡散方式の進化系が使われ、この方法では歪みが大きくなります。 これがデフォルトです。
  • 拡散拡散方法は、フローベース方法よりも歪みが少なく、完了までに時間がかかります。
String

arcpy.cartography.GenerateContiguousCartogram(in_features, field_name, out_features, {method})
名前説明データ タイプ
in_features

カルトグラムを生成するために使用される入力ポリゴン フィーチャ。

Feature Layer
field_name

出力カルトグラムのポリゴン フィーチャの面積を決定する値を含む数値フィールド。 負の数や 0 を含むフィーチャは、出力から除外されます。

Field
out_features

カルトグラムの変換が適用された出力ポリゴン。

Feature Layer
method
(オプション)

入力を変換し、カルトグラムを作成するために使用される方法を指定します。

  • FLOW-BASED多くの場合、処理が高速な、拡散方式の進化系が使われ、この方法では歪みが大きくなります。 これがデフォルトです。
  • DIFFUSION拡散方法は、フローベース方法よりも歪みが少なく、完了までに時間がかかります。
String

コードのサンプル

GenerateContiguousCartogram の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで GenerateContiguousCartogram 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/admin.gdb"
arcpy.cartography.GenerateContiguousCartogram(
    "countries", 
    "population", 
    "countries_cartogram_population", 
    "FLOW-BASED")
GenerateContiguousCartogram の例 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、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

関連トピック