概要
共通属性フィールドに基づいて、テーブルの内容を別のテーブルに永続的に結合します。入力テーブルが更新され、結合テーブル内のフィールドが格納されます。結合テーブルからのフィールドの中から、入力テーブルに追加するフィールドを選択することができます。
[レイヤー、テーブル ビューのキーとなるフィールド] の値および [結合先のキーとなるフィールド] の値に基づいて [入力テーブル] 内のレコードを [結合先のテーブル] 内のレコードと照合します。結合時には必要に応じて、結合したいフィールドのみを [結合先のテーブル] から選択し、[入力テーブル] に付加できます。
図
使用法
[入力テーブル] には、フィーチャクラス (シェープファイルを含む) またはテーブルを指定できます。
結合時は [入力テーブル] 内のすべてのフィールドが保持されます。必要に応じて、[結合先のテーブル] から選択したフィールドのみを出力に追加することも可能です。対象のフィールドは、[結合先のテーブル] パラメーターで調べることができます。
[結合先のテーブル] 内のレコードは、[入力テーブル] 内の複数のレコードと照合できます。1 対 1、多対 1、1 対多、多対多の詳細については、「テーブルの結合とリレートの詳細」をご参照ください。
オプションの [結合フィールド] パラメーター用にフィールドを選択しない場合、[結合先のテーブル] から出力に追加されたフィールドがすべて、結合の対象となります。
結合はフィールドのタイプ (テキスト、日付または数値) に基づいて実行できます。
テキスト フィールドに基づく結合では、大文字と小文字が区別されます。
数値形式が異なるフィールド同士でも、それぞれの値が等しい限り結合できます。たとえば、Float 型のフィールドと Short 型のフィールドを結合できます。
[レイヤー、テーブル ビューのキーとなるフィールド] と [結合先のキーとなるフィールド] にはそれぞれ異なった名前を付けることができます。
結合フィールドに入力テーブル内のフィールドと同じ名前が付いている場合、結合フィールドの名前が他と重複することのないように、結合フィールドの末尾に _1 (あるいは _2、_3、... など) が付加されます。
[結合先のキーとなるフィールド] 内の値が一意でない場合は、各値の最初の値のみが使用されます。
- 最初の値以外の結合テーブル値が考慮されるようにするには、まず 結合テーブル を入力として使用して、[要約統計量 (Summary Statistics)] ツールを実行します。[要約統計量 (Summary Statistics)] を使用すると、合計値、平均、最小などのフィールドについても概要を出力できるようになります。
- 結合の前に 2 つ以上のフィールドを結合テーブル内にマージする場合は、先に [テーブル → テーブル (Table To Table)] ツールを使用してテーブルまたはフィーチャクラスをエクスポートします。次に、ツールのフィールド マップを使用してマージしてください。
構文
arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
パラメーター | 説明 | データ タイプ |
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 |
コードのサンプル
JoinField (フィールドの結合) の例 1 (Python ウィンドウ)
次の 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 (スタンドアロン Python スクリプト)
以下のスタンドアロン Python スクリプトは、フィーチャクラスにテーブルを結合するために使用される JoinField (フィールドの結合) 関数を示しています。このスクリプトでは、テーブルのフィールドのうちの 2 つだけが、結合の対象となります。
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# 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)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい