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 sein. 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
RemoveDomainFromField_management (in_table, field_name, {subtype_code})
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) | Der bzw. die Subtype-Codes, die nicht länger mit einer Attributdomäne verknüpft werden. | String |
Codebeispiel
Remove Domain from Field - Beispiel (Python-Fenster)
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")
Remove Domain from Field – Beispiel 2 (eigenständiges Skript)
In diesem eigenständigen Skript wird die Funktion "RemoveDomainFromField" als Teil eines Workflows zum Bearbeiten einer Domäne ausgeführt.
# Name: RemoveDomainsExample.py
# Purpose: Update an attribute domain to constrain valid pipe material values
# Import system modules
import arcpy, os
try:
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.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 as err:
print(err.args[0])
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Ja
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja