Domäne erstellen (Data Management)

Zusammenfassung

Dient zur Erstellung von Attributdomänen im angegebenen Workspace.

Verwendung

Syntax

CreateDomain_management (in_workspace, domain_name, domain_description, field_type, {domain_type}, {split_policy}, {merge_policy})
ParameterErläuterungDatentyp
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

Die Beschreibung der zu erstellenden Domäne

String
field_type

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.

  • SHORTNumerische Werte ohne Bruchzahlen innerhalb eines bestimmten Bereichs; codierte Werte.
  • LONGNumerische Werte ohne Bruchzahlen innerhalb eines bestimmten Bereichs.
  • FLOATNumerische Werte mit Bruchzahlen innerhalb eines bestimmten Bereichs.
  • DOUBLENumerische Werte mit Bruchzahlen innerhalb eines bestimmten Bereichs.
  • TEXTNamen oder andere Textangaben.
  • 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.
  • 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

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
from arcpy import env
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
# Author: ESRI
 
#Import system modules
import arcpy
from arcpy import env
 
try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    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, 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

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

11/13/2014