フィールドの再分類 (Reclassify Field) (データ管理)

概要

手動で定義した境界に基づき、または再分類方法を使用して、数字フィールドまたはテキスト フィールドの値をクラスに再分類します。

[フィールドの再分類 (Reclassify Field)] ツールのイラスト
連続変数は、等間隔の不連続クラスに再分類されます。

使用法

  • このツールは、フィーチャクラスまたはテーブル ビューを入力として受け、入力データを修正します。

  • このツールは、次の 8 つの再分類方法をサポートします。

    • 指定間隔 - 各クラスは、[間隔サイズ] の範囲を広げます。フィールドは最小値で開始されます。たとえば、間隔サイズが 10 の場合、最小値は 244 となり、最初のクラスには 244 ~ 254 の間の値が含まれます。特定の間隔サイズが必要な場合、たとえば、10 度の範囲を使用して温度値を再分類する場合、この方法が推奨されます。
    • 等間隔 - 各クラスには同じ範囲があり、範囲のサイズは、[クラス数] パラメーター値によって定義されます。たとえば、クラス数が 5 で範囲が 0 ~ 100 の場合、最初のクラスには 0 ~ 20 の間の値が含まれます。指定間隔と同様に、この方法は、間隔が意味のある場合、および特定のクラス数が望ましい場合、この方法が推奨されます。たとえば、温度をちょうど 5 クラスの等しい範囲に再分類する時などです。
    • 等比間隔 - [クラス数] パラメーターによる定義で、各クラスの範囲が幾何学的に増大または減少します (変更方向 1 のみ可能)。この方法は、ほぼ等しいクラス範囲を維持しながら、データの自然なグループ化をしようとします。
    • 手動間隔 - 各クラスの上限と再分類値が、[再分類テーブル] パラメーターによって指定されます。再分類値は、数字または文字にすることができ、同じタイプの出力フィールドを作成します。再分類値に文字と数字の両方が提供されると、出力フィールドは文字になります。この方法は、他の方法によるクラス閾値が適切でない場合、または整数ではなく文字でクラスにラベル付けをする場合に有効です。
    • 自然分類 (Jenks) - クラス閾値が、データの自然なグループ化で作成されます。これは、[クラス数] パラメーターによって定義された Jenks の自然分類アルゴリズムが使用されます。この方法は、同様の値をグループ化し、クラス間の差を最大化します。この方法は、意味のある間隔がデータになく、適切なグループ化を行うときに有効です。たとえば、都市別の人口数には自然なグループ化が含まれる場合があります。
      • 参考: Jenks, G., Caspall, F. C. (1971)。"Error on choroplethic maps: Definition, measurement, reduction." Annals of American Geographers, 61, 217-44
    • 等量 - クラスには、それぞれの指定された [クラス数] パラメーター値で、等しい値数が含まれます。たとえば、50 個の値がありクラス数が 5 の場合、各クラスは 10 個のレコードを持ちます。この方法は、各値がランク付けされた値のどこにあてはまるかを把握する場合に有効です。たとえば、平均年間収入が 10 個の等量の最上位または最下位にあてはまる場所を把握する場合です。
    • 標準偏差 - クラス範囲は、平均より上および下の標準偏差の数を使用して作成されます。これは、[標準偏差の数値] パラメーターで指定されます。これは、分布している値を把握する場合に有効です。たとえば、1 つの標準偏差で降雨量を再分類して、降雨量が平均の 2 つの標準偏差を超えるエリアを特定できます。
    • 個別値 - テキスト フィールドの各個別値がクラスになります。これは、数字フィールドを必要とするツールのテキスト フィールドのカテゴリを使用する必要がある場合に有効です。たとえば、アルファベットと数字の州コードを整数に変換したい場合です。

  • 分類方法を選択する場合は、データのタイプと、再分類された値をどのように使用するかを考慮してください。すべてのアプリケーションにすべての方法を使用できるわけではありません。たとえば、複数のフィールドを再分類して分類ワークフローと一緒に使用するには、自然分類 (Jenks) など変化する方法ではなく、等量などデータ間で一貫した方法を使用します。

  • [値を反転 (降順)] パラメーター (Python の reverse_values = "DESC") をオンにすると、整数クラスが逆になり、値の一番小さいクラスが一番上のクラスに再分類されます。

  • 等量の再分類方法は、同数のレコードがそれぞれ含まれるクラスを作成します。ただし、[クラス数] パラメーター値がレコード数に均等に分割されない場合、残りは昇順で各クラスに分割されます。

  • 手動間隔方法の場合は、指定されている上限値の少なくとも 1 つが、再分類するフィールドの最小値より大きい必要があります。指定された最大上限値より大きなフィールド値は、-9999 として再分類されます。

  • 定義された間隔方法では、[間隔サイズ] パラメーター値は、少なくとも 3 つのクラスを作成できる程度に十分小さい必要があります。

  • いずれの再分類方法も、サンプリング スキーマを使用しません。等級シンボルなど、サンプリングを使用する他の分類方法から、各クラスの範囲を取得することができます。

  • ツールは、各レコードのクラスと範囲を表すフィールドを作成します。これには、[出力フィールド名] パラメーター値が接頭辞として付けられます。クラス フィールドは昇順または降順の整数のフィールドで、範囲フィールドには、各フィールドの値の範囲が表示されます。再分類するフィールドがテキスト フィールドの場合、クラス フィールドのみが作成されます。再分類方法が手動で、再分類値が指定されていない場合、範囲フィールドのみが作成されます。

  • 再分類テーブルは、ジオプロセシング メッセージに表示され、各クラスの上限と再分類された値を示します。

構文

arcpy.management.ReclassifyField(in_table, field, {method}, {classes}, {interval}, {standard_deviations}, {reclass_table}, {reverse_values}, {output_field_name})
パラメーター説明データ タイプ
in_table

再分類するフィールドを含む入力テーブルまたはフィーチャクラス。

Table View; Raster Layer; Mosaic Layer
field

再分類するフィールドです。フィールドには、数値またはテキストを使用する必要があります。

Field
method
(オプション)

[再分類フィールド] パラメーターで指定されたフィールドに、値がどのように含まれるかを指定します。

  • DEFINED_INTERVAL 再分類するフィールドの値範囲にわたって、同じクラス範囲のクラスを作成します。
  • EQUAL_INTERVAL特定のクラス数に分割された、等しいクラス範囲のクラスを作成します。これがデフォルトです。
  • GEOMETRIC_INTERVALクラス範囲を特定のクラス数に幾何学的に増大または減少させたクラスを作成します。
  • MANUAL クラス分類と再分類された値は、手動で指定されます。
  • NATURAL_BREAKS Jenks の自然分類アルゴリズムを使用してデータの自然なグループ化がされたクラスを作成します。
  • QUANTILE それぞれ等しい値数を含むクラスを作成します。
  • STANDARD_DEVIATION 平均値より上または下の標準偏差の一部をプラスまたはマイナスして、クラスを作成します。
  • UNIQUE_VALUESフィールドの各個別値がクラスになる、クラスを作成します。
String
classes
(オプション)

再分類されたフィールドのクラスのターゲット数です。クラスの最大数は 256 です。

Long
interval
(オプション)

再分類されたフィールドのクラス間隔サイズです。提供される値は、3 クラス以上 1000 クラス以下になる必要があります。

Double
standard_deviations
(オプション)

再分類されたフィールドに、標準偏差の数値を指定します。クラスの分類とカテゴリを、平均からの標準偏差の一部の等間隔範囲で作成します。

  • ONE間隔は、1 つの標準偏差を使用して作成されます。これがデフォルトです。
  • HALF間隔は、1 つの標準偏差の半分を使用して作成されます。
  • THIRD間隔は、1 つの標準偏差の 3 分の 1 を使用して作成されます。
  • QUARTER間隔は、1 つの標準偏差の 4 分の 1 を使用して作成されます。
String
reclass_table
[reclass_table,...]
(オプション)

手動の再分類方法の上限と再分類された値

Value Table
reverse_values
(オプション)

再分類値の順序を指定します。

  • DESCクラスは、値が降順に割り当てられます。最大値のクラスには 1 が割り当てられ、次に大きなクラスには 2 などのように割り当てられます。
  • ASCクラスは、値が昇順に割り当てられます。最小値のクラスには 1 が割り当てられ、次に小さいクラスには 2 などのように割り当てられます。これがデフォルトです。
Boolean
output_field_name
(オプション)

出力フィールドの名前または接頭辞です。再分類するフィールドが数値フィールドの場合、2 つのフィールドが作成され、名前にはフィールド名が接頭辞になります。再分類するフィールドがテキスト フィールドの場合、新しいフィールドは、この名前で作成されます。

String

派生した出力

名前説明データ タイプ
updated_table

再分類されたフィールドを含む、更新されたテーブルです。

テーブル ビュー

コードのサンプル

ReclassifyField (フィールドの再分類) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ReclassifyField ツールの使用方法を示しています。

arcpy.management.ReclassifyField("Demographics", "Population", 
      "EQUAL_INTERVAL", 10, None, "", None, None, "Population_EQUAL_INTERVAL")
ReclassifyField (フィールドの再分類) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ReclassifyField ツールの使用方法を示しています。

# Import system modules.
import arcpy
try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Reclassify\\MyData.gdb"
    in_table = "Demographics"
    # Set the input field that will be reclassified
    field = "Population"
    # Set the reclassification method
    method = "MANUAL"
    # Set the reclassification table
    reclass_table = "10000 Village;100000 Town;1000000 City"
    # Set the output field name
    output_field_name = "SettlementType"
    # Run the Reclassify Field tool
    arcpy.management.ReclassifyField(in_table, field, method, "", 
          None, "", reclass_Table, None, output_field_name)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック