フィールド結合(Join Field) (データの管理)
サマリ
共通属性フィールドに基づいて、テーブルの内容を別のテーブルに永続的に結合します。入力テーブルが更新され、結合テーブル内のフィールドが格納されます。結合テーブルからのフィールドの中から、入力テーブルに追加するフィールドを選択することができます。
[レイヤ、テーブル ビューのキーとなるフィールド] の値および [結合先のキーとなるフィールド] の値に基づいて [入力テーブル] 内のレコードを [結合先のテーブル] 内のレコードと照合します。結合時には必要に応じて、結合したいフィールドのみを [結合先のテーブル] から選択し、[入力テーブル] に付加できます。
図
使用法
-
結合時は [入力テーブル] 内のすべてのフィールドが保持されます。必要に応じて、[結合先のテーブル] から選択したフィールドのみを出力に追加することも可能です。対象のフィールドは、[結合先のテーブル] パラメータで調べることができます。
-
オプションの [結合フィールド] パラメータ用にフィールドを選択しない場合、[結合先のテーブル] から出力に追加されたフィールドがすべて、結合の対象となります。
-
[入力テーブル] には、フィーチャ データセット、フィーチャクラス、テーブル、またはシェープファイルのいずれかを指定できます。
-
[結合先のテーブル] 内のレコードは、[入力テーブル] 内の複数のレコードと照合できます。
-
結合はフィールドのタイプ(テキスト、日付または数値)に基づいて実行できます。
-
テキスト フィールドに基づく結合では、大文字と小文字が区別されます。
-
数値形式が異なるフィールド同士でも、それぞれの値が等しい限り結合できます。たとえば、Float 型のフィールドと Short 型のフィールドを結合できます。
-
[レイヤ、テーブル ビューのキーとなるフィールド] と [結合先のキーとなるフィールド] にはそれぞれ異なった名前を付けることができます。
-
結合フィールドに入力テーブル内のフィールドと同じ名前が付いている場合、結合フィールドの名前が他と重複することのないように、結合フィールドの末尾に _1(あるいは _2、_3、... など)が付加されます。
-
[結合先のキーとなるフィールド] 内の値が一意でない場合は、各値の最初の値のみが使用されます。
- 最初の値以外の結合テーブル値が考慮されるようにするには、まず 結合テーブル を入力として使用して、[要約統計量(Summary Statistics)] ツールを実行します。[要約統計量(Summary Statistics)] を使用すると、合計値、平均、最小などのフィールド(1 つまたは複数)についても概要を出力できるようになります。ここをクリックすると、図解を参照できます。
- 結合の前に 2 つ以上のフィールドを結合テーブル内にマージする場合は、先に [テーブル → テーブル(Table To Table)] ツールを使用してテーブルまたはフィーチャクラスをエクスポートします。次に、ツールのフィールド マップを使用してマージしてください。ここをクリックすると、図解を参照できます。
構文
パラメータ | 説明 | データ タイプ |
in_data |
結合テーブルの結合先となるテーブルまたはフィーチャクラス。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
in_field |
結合のキーになる入力テーブル内のフィールド。 | Field |
join_table |
入力テーブルに結合されるテーブル。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field |
結合のキーとなる値が格納されている、結合テーブル内のフィールド。 | Field |
fields [fields,...] (オプション) |
結合の対象となる、結合テーブル内のフィールド。 | Field |
コードのサンプル
次の Python ウィンドウ スクリプトは、JoinField(フィールド結合)関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。
import arcpy from arcpy import env env.workspace = "C:/data/data.gdb" arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
以下のスタンドアロン スクリプトは、フィーチャクラスにテーブルを結合するために使用される JoinField(フィールド結合)関数を示しています。このスクリプトでは、テーブルのフィールドのうちの 2 つだけが、結合の対象となります。
# PermanentJoin.py # Purpose: Join two fields from a table to a feature class # Author: ESRI # Import system modules import arcpy from arcpy import env # Set the current workspace env.workspace = "c:/data/data.gdb" # Set the local parameters inFeatures = "zion_park" joinField = "zonecode" joinTable = "zion_zoning" fieldList = ["land_use", "land_cover"] # Join two feature classes by the zonecode field and only carry # over the land use and land cover fields arcpy.JoinField_management (inFeatures, joinField, joinTable, joinField, fieldList)