テーブル結合の解除(Remove Join) (データ管理)
サマリ
フィーチャ レイヤまたはテーブル ビューから結合を解除します。
使用法
-
[解除するテーブル結合] パラメータは、入力レイヤまたはテーブル ビューに結合されたテーブルの名前です。
- 結合テーブルを MyTable.dbf という名前の dBASE ファイルとした場合、結合名は「MyTable」となるので、削除する際は「MyTable」と指定してください。
- 結合テーブルを MyTable2 という名前の INFO テーブルまたはジオデータベース テーブルとした場合、結合名は「MyTable2」となるので、削除する際は「MyTable2」と指定してください。
- 結合名に反映されるのは、テーブル ビュー自体の名前でなく、テーブル ビューのソースです。そのため、テーブル ビューが TableView1 という名前で、mytable.dbf を指している場合、結合の名前は「mytable」となります。
-
レイヤが 2 つのテーブルに結合されている場合、最初の結合が解除されてから、両方の結合が解除されます。たとえば、レイヤ 1 をテーブル A に結合するとします。その後、レイヤ 1 をテーブル B に結合します。テーブル A への結合を解除すると、テーブル B への結合も解除されます。
-
このツールは、ArcMap 内部で機能するだけでなく、他の ArcGIS アプリケーションおよびスクリプト内のレイヤやテーブル ビューに対しても機能します。[フィーチャ レイヤの作成(Make Feature Layer)] ツールはフィーチャクラスからレイヤを作成するのに対して、[テーブル ビューの作成(Make Table View)] ツールは入力テーブルまたはフィーチャクラスからテーブル ビューを作成します。レイヤまたはテーブル ビューを [テーブル結合(Add Join)] ツールおよび [テーブル結合の解除(Remove Join)] ツールへの入力として使用できます。
構文
パラメータ | 説明 | データ タイプ |
in_layer_or_view |
結合を解除するレイヤまたはテーブル ビュー。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_name (オプション) |
解除対象となる結合。 | String |
コードのサンプル
次の Python ウィンドウ スクリプトは、ArcMap のコンテンツ ウィンドウで veglayer という名前のフィーチャ レイヤに対してイミディエイト モードで RemoveJoin(テーブル結合の解除)ツールを使用する方法を示しています。
arcpy.RemoveJoin_management("veglayer", "vegtable")
このスタンドアロン スクリプトは、結合テーブルから取得したフィールドの値に基づいてテーブルにフィールドを追加し、その値を計算するワークフローの一部としての RemoveJoin(テーブル結合の解除)関数を示しています。
# AddFieldFromJoin.py
# Description: Adds a field to a table, and calculates its values based
# on the values in a field from a joined table
# Import system modules
import arcpy
from arcpy import env
try:
# set the environments
env.workspace = "C:/data"
env.qualifiedFieldNames = "UNQUALIFIED"
# Define script parameters
inFeatures = "Habitat_Analysis.gdb/vegtype"
layerName = "veg_layer"
newField = "description"
joinTable = "vegtable.dbf"
joinField = "HOLLAND95"
calcExpression = "!vegtable.VEG_TYPE!"
outFeature = "Habitat_Analysis.gdb/vegjoin335"
# Add the new field
arcpy.AddField_management (inFeatures, newField, "TEXT")
# 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)
# Populate the newly created field with values from the joined table
arcpy.CalculateField_management (layerName, newField, calcExpression, "PYTHON")
# Remove the join
arcpy.RemoveJoin_management (layerName, "vegtable")
# Copy the layer to a new permanent feature class
arcpy.CopyFeatures_management (layerName, outFeature)
except Exception, e:
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message