Zusammenfassung
Dient zur Erstellung von Attributdomänen im angegebenen Workspace.
Verwendung
Die Verwaltung von Domänen umfasst folgende Schritte:
- Erstellen Sie die Domäne mit diesem Werkzeug.
- 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.
- Ordnen Sie der Domäne eine Feature-Class zu. Verwenden Sie hierfür das Werkzeug Domäne zu Feld zuweisen.
Domänen mit codierten Werten unterstützen als Teilungsmethode nur die Verfahren "DEFAULT" und "DUPLICATE" und als Vereinigungsmethode nur das Verfahren "DEFAULT".
Bereichsdomänen unterstützen alle Teilungs- und Vereinigungsmethoden. Nach einem Teilungs- oder Vereinigungsvorgang werden die Attributwerte der Ausgangs-Features basierend auf den numerischen Werten der Eingabe-Features und der angegebenen Teilungs- und Vereinigungsmethode berechnet.
Sie können Workspace-Domänen auch in ArcCatalog oder dem Fenster Katalog verwalten. Domänen werden auf der Registerkarte Domänen im Dialogfeld Eigenschaften: Datenbank erstellt und geändert.
Syntax
arcpy.management.CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
Parameter | Erklärung | Datentyp |
in_workspace | Die Geodatabase, in der die neue Domäne enthalten sein soll | Workspace |
domain_name | Der Name der zu erstellenden Domäne | String |
domain_description (optional) | Die Beschreibung der zu erstellenden Domäne | String |
field_type (optional) | Der Typ der zu erstellenden Attributdomäne. Attributdomänen sind Regeln, die die zulässigen Werte eines Feldtyps beschreiben. Geben Sie einen Feldtyp an, der mit dem Datentyp des Feldes übereinstimmt, dem die Attributdomäne zugewiesen wird.
| String |
domain_type (optional) | Der zu erstellende Domänentyp:
| String |
split_policy (optional) | Die Teilungsmethode für eine erstellte Domäne. Das Verhalten der Werte eines Attributs bei der Teilung eines Features wird durch die jeweilige Teilungsmethode gesteuert.
| String |
merge_policy (optional) | Die Vereinigungsmethode für die erstellte Domäne. Wenn zwei Features in ein einzelnes Feature zusammengeführt werden, steuern die Vereinigungsmethoden den Wert der Attribute im neuen Feature.
| String |
Codebeispiel
Domäne erstellen – Beispiel (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "CreateDomain" im unmittelbaren Modus verwenden.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", "Valid pipe materials", "TEXT", "CODED")
Domäne erstellen – Beispiel 2 (eigenständiges Skript)
Dieses eigenständige Skript hat die Funktion "CreateDomain" als Teil eines Workflows verwendet, um eine Attributdomäne zu erstellen, dieser Werte zuzuweisen und die Domäne einem Feld in einer Feature-Class zuzuweisen.
# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
#Import system modules
import arcpy
try:
# 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)
except Exception as err:
print(err.args[0])
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja