Domäne erstellen (Data Management)

Zusammenfassung

Dient zur Erstellung von Attributdomänen im angegebenen Workspace.

Verwendung

  • Die Verwaltung von Domänen umfasst folgende Schritte:

    1. Erstellen Sie die Domäne mit diesem Werkzeug.
    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 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.

Syntax

arcpy.management.CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
ParameterErklärungDatentyp
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.

  • TEXTJede beliebige Zeichenfolge.
  • FLOAT Bruchzahlen zwischen -3,4E38 und 1,2E38.
  • DOUBLE Bruchzahlen zwischen -2,2E308 und 1,8E308.
  • SHORT Ganze Zahlen zwischen -32.768 und 32.768.
  • LONG Ganze Zahlen zwischen -2 147 483 648 und 2 147 483 647.
  • DATEDatum und/oder Uhrzeit.
String
domain_type
(optional)

Der zu erstellende Domänentyp:

  • CODEDDefiniert einen gültigen Satz von Werten für ein Attribut. Eine Domäne mit codierten Werten könnte zum Beispiel gültige Werte für Rohrmaterialien enthalten: CL – Gusseisenrohr, DL – Kugelgraphitrohr oder ACP – Asbestbetonrohr. Dies ist der Standardwert.
  • RANGELegt einen gültigen Bereich von Werten für ein numerisches Attribut fest. Beispiel: In einer Verteilungshauptwasserleitung ist ein Druck zwischen 50 und 75 psi zulässig. In der Bereichsdomäne werden diese Minimal- und Maximalwerte vorgegeben.
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.

  • DEFAULTDie Attribute der beiden entstehenden Features übernehmen den Standardwert für das Attribut der gegebenen Feature-Class oder des gegebenen Subtypes.
  • DUPLICATEAls Attribut der beiden entstehenden Features wird eine Kopie des Attributwertes des ursprünglichen Objekts übernommen.
  • GEOMETRY_RATIODie Attribute der entstehenden Features ergeben sich aus einem Verhältnis zum Wert des ursprünglichen Features. Das Verhältnis basiert auf dem Verhältnis, in dem die ursprüngliche Geometrie geteilt wird. Wenn die Geometrie gleichmäßig geteilt wird, wird jedem Attribut der neuen Features der halbe Wert des ursprünglichen Objektattributs zugewiesen. Die Geometrieverhältnis-Methode gilt nur für Bereichsdomänen.
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.

  • DEFAULTDas Attribut des entstehenden Features übernimmt den Standardwert für das Attribut der gegebenen Feature-Class oder des gegebenen Subtypes. Dies ist die einzige Vereinigungsmethode, die für nicht numerische Domänen und Domänen mit codierten Werten gilt.
  • SUM_VALUESDas Attribut des resultierenden Features nimmt die Summe der Werte des Attributs des ursprünglichen Features an. Die Summenwert-Methode gilt nur für Bereichsdomänen.
  • AREA_WEIGHTEDDas Attribut des entstehenden Features wird als gewichteter Durchschnitt der Attributwerte der ursprünglichen Features berechnet. Dieser Durchschnitt basiert auf der Geometrie des ursprünglichen Features. Die Methode des gewichteten Mittels gilt nur für Bereichsdomänen.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_workspace

Der aktualisierte Eingabe-Workspace.

Workspace

Codebeispiel

CreateDomain – Beispiel 1 (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", 
                              "Valid pipe materials", "TEXT", "CODED")
CreateDomain – 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
 
# 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)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen