方法

ArcGIS Pro で指定したフィールドからフィールド値の割合を計算する

Last Published: March 3, 2023

サマリー

ArcGIS Pro では、Python 式を使用して、指定したフィールドからフィールド値の割合を計算できます。この記事では、Python 式を使用して香港の各地区の人口の割合を計算し、ArcGIS Pro で新しいフィールドを作成する例と手順について説明します。

以下の図は、香港の各地区の人口の PopDis2021 属性テーブルを示しています。

PopDist2021 属性テーブル

手順

  1. コンテンツ ウィンドウでフィーチャクラスを右クリックし、属性テーブルをクリックして、フィーチャクラスの属性テーブルを開きます。
コンテンツ ウィンドウからフィーチャクラスの属性テーブルを開く
  1. 計算をクリックし、フィールド演算ツールを開きます。
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. フィールド演算 (Calculate Field) ダイアログ ボックスで、以下のパラメーターを構成します。
    1. 入力テーブルでフィーチャクラスを選択します。
    2. フィールド名 (既存または新規) で、編集するフィールドを選択するか、新しいフィールドを作成します。 この例では、割合フィールドが作成されます。
    3. フィールド タイプで、整数フィールド タイプを選択します。 この例では、Double (64 ビット浮動小数点) が選択されています。
    4. 式の種類で、Python 3 を選択します。
    5. 最初のコード ブロックで次の式を指定します。 この例では、<fieldName1> には Number_of_Persons という名前が付けられています。
update(!<fieldName1>!)
  1. コード ブロックで、次の Python 式を指定します。
    1. update() メソッドを定義します。 この例では、<varName> には numbPersons という名前が付けられています。
def update(<varName>):
Note:
The following procedure must all be within the same indented code block. Refer to the full script sample for clarification.
  1. ArcPy モジュールをインポートし、空の配列パラメーターを作成します。
     import arcpy    
     list = []
  1. SearchCursor() 関数を実行するループを作成し、ステップ 3(f)(ii) の配列パラメーターにすべてのフィールドを挿入します。
    with arcpy.da.SearchCursor(r"<featureClassPath>", ["<fieldName1>"]) as cursor:
        for row in cursor:
            list.append(row[0])
  1. 値の合計を計算します。 この例では、<varName1> には S という名前が付けられています。
    <varName1> = sum(list)
  1. 次のステートメントを指定して、フィールド値の割合を返します。
    return <varname> / <varname1> * 100

次のコード ブロックは、完全な式の例です。

def update(numbPersons):
    import arcpy
    list = []
    with arcpy.da.SearchCursor(r"C:\Users\ISC-Testing\Documents\29398 calculate percentage\29398 calculate percentage.gdb\PopDist2021", ["Number_of_Persons"]) as cursor:
        for row in cursor:
            list.append(row[0])
    S = sum(list)
    return numbPersons / S * 100
  1. 確認をクリックして、式のテストを実行します。 式が有効な場合、OK をクリックします。
記入する必要があるパラメーターを示すフィールド演算ジオプロセシング ウィンドウ

以下の図は、PopDist2021 属性テーブルに追加された割合フィールドを示しています。

割合フィールドが追加された PopDist2021 属性テーブル

記事 ID: 000029398

AI によるサポートを受ける

Esri サポート AI チャットボットを使用して問題を迅速に解決します。

今すぐチャットを開始

関連情報

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

今すぐチャットを開始

ダウンロード オプションに移動