フィールドからドメインを削除(Remove Domain From Field) (データの管理)
サマリ
フィーチャクラスまたはテーブル フィールドから属性ドメインの関連付けを解除します。
使用法
-
このツールで実行される操作内容は、[フィールドへのドメインの割り当て(Assign Domain To Field)] 機能とは正反対です。フィールドからドメインを削除すると、フィールドと属性ドメイン間の関連付けが解除されます。
-
フィールドからドメインを削除すると、そのフィールドに対する属性整合性ルールがデータベースから削除されます。
-
属性ドメインは、同じテーブル、フィーチャクラス、またはサブタイプの複数のフィールドに関連付けることも、複数のテーブルおよびフィーチャクラスに関連付けることもできます。フィールドからドメインを削除しても、他のドメインの関連付けには影響しません。
-
ワークスペース ドメインは、ArcCatalog またはカタログ ウィンドウでも管理できます。[データベース プロパティ] ダイアログ ボックスの [ドメイン] タブを使用して、ドメインを作成および変更できます。
-
現在のマップ レイヤを入力テーブルの定義に使用できます。
-
[サブタイプ] パラメータの [値の追加] ボタンは、ModelBuilder 専用です。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[サブタイプ] パラメータに値が表示されない場合があります。[値の追加] ボタンを使用して、[フィールドからドメインを削除(Remove Domain From Field)] ダイアログ ボックスに所定の値(1 つまたは複数)を追加して完了した後、モデルの作成を続行できます。
構文
パラメータ | 説明 | データ タイプ |
in_table |
削除対象の属性ドメインを格納する入力テーブル | Table View |
field_name |
属性ドメインとの関連付けが解除されたフィールド | Field |
subtype_code [subtype_code,...] (オプション) | 属性ドメインとの関連付けが解除されたサブタイプ コード(1 つまたは複数)を選択します。 | String |
コードのサンプル
次の Python ウィンドウ スクリプトは、RemoveDomainfromField(フィールドからドメインを削除)関数をイミディエイト モードで使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.RemoveDomainFromField_management("montgomery.gdb/water/distribmains", "DIAMETER")
次のスタンドアロン スクリプトでは、RemoveDomainfromField(フィールドからドメインを削除)関数をドメイン編集ワークフローの一部として使用しています。
# Name: RemoveDomainsExample.py
# Purpose: Update an attribute domain to constrain valid pipe material values
# Author: ESRI
# Import system modules
import arcpy, os
from arcpy import env
try:
# Set the workspace (to avoid having to type in the full path to the data every time)
env.workspace = "data"
# set local parameters
inFeatures = "Montgomery.gdb/Water/DistribMains"
inField = "MATERIAL"
dWorkspace = "Montgomery.gdb"
domName = "Material"
codedValue = "ACP: Asbestos concrete"
codeField = "TYPE"
descField = "DESRIPT"
# Process: Remove the constraint from the material field
arcpy.RemoveDomainFromField_management(inFeatures, inField)
# Edit the domain values
# Process: Remove a coded value from the domain
arcpy.DeleteCodedValueFromDomain_management(dWorkspace, domName, codedValue)
# Process: Create a table from the domain to edit it with ArcMap editing tools
arcpy.DomainToTable_management(dWorkspace, domname, dWorkspace + os.sep + domname , codeField, descField)
# Process: Delete the domain
arcpy.DeleteDomain_management(dWorkspace, domName)
# Edit the domain table outside of geoprocessing
# and then bring the domain back in with the TableToDomain process
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