テーブル結合(Add Join) (データの管理)

サマリ

レイヤ(この場合は、フィーチャ レイヤ、テーブル ビュー、またはラスタ属性テーブルを持つラスタ レイヤ)を、コマンド フィールドに基づいて別のレイヤまたはテーブルに結合します。

[結合先のテーブル] 内のレコードは、入力の [レイヤ名] のレコードに一致します。入力の結合フィールドと、出力の結合フィールドの値が等しい場合に一致したと見なされます。この結合は一時的なものです。

Add Join

使用法

構文

AddJoin_management (in_layer_or_view, in_field, join_table, join_field, {join_type})
パラメータ説明データ タイプ
in_layer_or_view

結合先のテーブルに結合するレイヤまたはテーブル ビュー

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
join_type
(オプション)

入力の複数のレコードが結合先のテーブル内の単一のレコードに一致した場合の処理方法を指定します。

  • KEEP_ALL入力のレイヤまたはテーブル ビュー内のすべてのレコードを出力に含めます。外部結合とも呼ばれます。これがデフォルトです。
  • KEEP_COMMON結合先のテーブルに含まれる行に一致する入力内のレコードのみを結果に含めます。内部結合とも呼ばれます。
Boolean

コードのサンプル

AddJoin(テーブル結合)の例(Python ウィンドウ)

次の Python ウィンドウ スクリプトで、AddJoin(テーブル結合)関数をイミディエイト モードで使用する方法を示します。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MakeFeatureLayer_management ( "Habitat_Analysis.gdb/vegtype", "veg_layer")
arcpy.AddJoin_management( "veg_layer", "HOLLAND95", "vegtable.dbf", "HOLLAND95")
arcpy.CopyFeatures_management( "veg_layer", "Habitat_Analysis.gdb/vegjoin")
AddJoin(テーブル結合)の例 2(スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、AddJoin(テーブル結合)関数をワークフローの一部として使用して、テーブルをフィーチャクラスに結合してから任意のフィーチャを抽出する方法を示します。

# Name: AttributeSelection.py
# Purpose: Join a table to a featureclass and select the desired attributes
# Author: ESRI

# Import system modules
import arcpy
from arcpy import env


try:
    # Set environment settings
    env.workspace = "C:/data"
    env.qualifiedFieldNames = False
    
    # Set local variables    
    inFeatures = "Habitat_Analysis.gdb/vegtype"
    layerName = "veg_layer"
    joinTable = "vegtable.dbf"
    joinField = "HOLLAND95"
    expression = "vegtable.HABITAT = 1"
    outFeature = "Habitat_Analysis.gdb/vegjoin"
    
    # Create a feature layer from the vegtype featureclass
    arcpy.MakeFeatureLayer_management (inFeatures,  layerName)
    
    # Join the feature layer to a table
    arcpy.AddJoin_management(layerName, joinField, joinTable, joinField)
    
    # Select desired features from veg_layer
    arcpy.SelectLayerByAttribute_management(layerName, "NEW_SELECTION", expression)
    
    # Copy the layer to a new permanent feature class
    arcpy.CopyFeatures_management(layerName, outFeature)
    
except Exception, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

環境

関連項目

ライセンス情報

ArcView: はい
ArcEditor: はい
ArcInfo: はい

7/10/2012