Domäne aus Feld entfernen (Data Management)
Zusammenfassung
Entfernt die Verknüpfung einer Attributdomäne aus dem Feld einer Feature-Class oder einer Tabelle.
Verwendung
-
Dieses Werkzeug ist das Gegenstück zur Funktion Domäne zu Feld zuweisen. Bei Ausführung der Funktion wird die Verknüpfung zwischen einem Feld und einer Attributdomäne entfernt.
-
Wenn eine Domäne aus einem Feld entfernt wird, wird die Attributvalidierungsregel für dieses Feld aus der Datenbank entfernt.
-
Dieselbe Attributdomäne kann mehreren Feldern derselben Tabelle, Feature-Class oder desselben Subtypes sowie mehreren Tabellen und Feature-Classes zugeordnet werden. Wenn Sie eine Domäne aus einem Feld entfernen, werden andere Domänenzuordnungen davon nicht beeinflusst.
-
Sie können Workspace-Domänen auch in ArcCatalog oder dem Fenster Katalog verwalten. Domänen werden im Dialogfeld Eigenschaften: Datenbank auf der Registerkarte Domänen erstellt und bearbeitet.
-
Sie können die aktuellen Karten-Layer verwenden, um die Eingabetabelle zu definieren.
-
Die Schaltfläche Wert hinzufügen des Parameters Subtype wird nur in ModelBuilder verwendet. Der Parameter "Subtype" ist in ModelBuilder nicht mit Werten gefüllt, wenn das vorherige Werkzeug nicht ausgeführt wurde oder die abgeleiteten Daten nicht vorhanden sind. Mit der Schaltfläche Wert hinzufügen können Sie den bzw. die erwarteten Werte hinzufügen, um das Dialogfeld Domäne aus Feld entfernen fertig bearbeiten und mit der Erstellung des Modells fortfahren zu können.
Syntax
Parameter | Erläuterung | Datentyp |
in_table |
Die Eingabetabelle, die die zu entfernende Attributdomäne enthält. | Table View |
field_name |
Das Feld, dessen Attributdomänenverknüpfung entfernt wird. | Field |
subtype_code [subtype_code,...] (optional) | Wählt den bzw. die Subtype-Codes aus, die nicht länger mit einer Attributdomäne verknüpft werden. | String |
Codebeispiel
Mit dem folgenden Skript im Python-Fenster wird gezeigt, wie Sie die Funktion "RemoveDomainFromField" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.RemoveDomainFromField_management("montgomery.gdb/water/distribmains", "DIAMETER")
In diesem eigenständigen Skript wird die Funktion "RemoveDomainFromField" beim Bearbeiten einer Domäne ausgeführt.
# 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