Domäne zu Feld zuweisen (Data Management)

Zusammenfassung

Legt die Domäne für ein bestimmtes Feld und optional für einen Subtype fest. Wenn kein Subtype angegeben ist, wird die Domäne nur dem angegebenen Feld zugewiesen.

Verwendung

  • Die Verwaltung von Domänen umfasst folgende Schritte:

    1. Erstellen Sie die Domäne mit dem Werkzeug Domäne erstellen.
    2. Fügen Sie der Domäne Werte hinzu oder legen Sie den Wertebereich fest. Verwenden Sie hierfür das Werkzeug Codierten Wert zu Domäne hinzufügen oder das Werkzeug Wert für Bereichsdomäne festlegen.
    3. Ordnen Sie der Domäne mithilfe dieses Werkzeugs eine Feature-Class zu.
  • Wenn eine Attributdomäne mit einer Feature-Class oder Tabelle verbunden ist, wird eine Attributvalidierungsregel in der Datenbank erstellt. Diese Attributvalidierungsregel beschreibt und beschränkt die gültigen Werte für einen Feldtyp.

  • Eine Attributdomäne kann mehreren Feldern in derselben Tabelle, Feature-Class oder demselben Subtype und mehreren Feldern in mehreren Tabellen und Feature-Classes zugeordnet sein.

  • Der Parameter Eingabetabelle nimmt Feature-Layer oder Tabellensichten an.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Der Name der Tabelle oder Feature-Class mit dem Feld, dem eine Domäne zugewiesen wird

Table View
Feldname

Der Name des Feldes, dem eine Domäne zugewiesen wird

Field
Domänenname

Der Name einer Geodatabase-Domäne, die dem Feldnamen zugewiesen wird. Alle verfügbaren Domänen werden automatisch geladen.

String
Subtype
(optional)

Der Subtype-Code, dem eine Domäne zugewiesen wird.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabetabelle

Die aktualisierte Eingabetabelle.

Tabellensicht

arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
NameErläuterungDatentyp
in_table

Der Name der Tabelle oder Feature-Class mit dem Feld, dem eine Domäne zugewiesen wird

Table View
field_name

Der Name des Feldes, dem eine Domäne zugewiesen wird

Field
domain_name

Der Name einer Geodatabase-Domäne, die dem Feldnamen zugewiesen wird. Alle verfügbaren Domänen werden automatisch geladen.

String
subtype_code
[subtype_code,...]
(optional)

Der Subtype-Code, dem eine Domäne zugewiesen wird.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_table

Die aktualisierte Eingabetabelle.

Tabellensicht

Codebeispiel

AssignDomainToField – Beispiel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion AssignDomainToField im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels", 
                                     "ZONING_S", "ZoningFields", "1: government")
AssignDomainToField – Beispiel 2 (eigenständiges Skript)

Im folgenden Skript wird die Funktion AssignDomainToField als Teil eines Workflows verwendet, um eine Attributdomäne zu erstellen, dieser Werte zuzuweisen und die Domäne einem Feld zuzuweisen.

# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
 
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "C:/data"
 
# Set local parameters
domName = "Material4"
gdb = "montgomery.gdb"
inFeatures = "Montgomery.gdb/Water/Distribmains"
inField = "Material"
 
# Process: Create the coded value domain
arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials", 
                              "TEXT", "CODED")
    
# Store all the domain values in a dictionary with the domain code as the "key" 
# and the domain description as the "value" (domDict[code])
domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC", 
           "ACP": "Asbestos concrete", "COP": "Copper"}
# Process: Add valid material types to the domain
# use a for loop to cycle through all the domain codes in the dictionary
for code in domDict:        
    arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
    
# Process: Constrain the material value of distribution mains
arcpy.AssignDomainToField_management(inFeatures, inField, domName)

Verwandte Themen