Workflow der Geoverarbeitung für Subtypes

In Geodatabase-Tabellen und Feature-Classes werden Objekte desselben Typs gespeichert, d. h. Objekte, die dasselbe Verhalten und dieselben Attribute aufweisen. Beispiel: Eine Feature-Class mit dem Namen "WaterMains" kann Hauptwasserleitungen speichern, die unter Druck stehen. Alle Hauptwasserhauptleitungen besitzen dasselbe Verhalten und die Attribute "ReferenzID", "Tiefe", "Material", "BodenOberflächenTyp", "Größe" und "DruckWert".

Alle Objekte in einer Feature-Class oder -Tabelle müssen zwar dasselbe Verhalten und dieselben Attribute aufweisen, jedoch müssen nicht alle Objekte dieselben Attributdomänen teilen. Beispiel: Es kann für ein Wassernetzwerk stimmen, dass nur die Übertragungshauptwasserleitungen einem Druck von 40 und 100 psi ausgesetzt sein dürfen, doch Verteilungshauptwasserleitungen können einem Druck von 50 und 75 psi ausgesetzt sein. Sie würden eine Attributdomäne verwenden, um diese Beschränkungen umzusetzen. Um diese Art von Validierungsregel zu implementieren, müssen Sie keine gesonderten Feature-Classes für Übertragungs- und Verteilungshauptwasserleitungen erstellen. Sie können diese Arten von Hauptwasserleitungen voneinander unterscheiden, indem Sie einen einzelnen Satz von Domänen und Standardwerten erstellen. Hierfür können Sie Subtypes verwenden.

Verwendung von Subtypes

Ein wichtiger Aspekt beim Entwurf einer Geodatabase ist die Entscheidung darüber, wo es angemessen ist Subtypes zu verwenden und wo zusätzliche Feature-Classes notwendig sind. Wenn Sie Objekte nach ihren Standardwerten, Attributdomänen, Konnektivitätsregeln und Beziehungsregeln unterscheiden, sollten Sie für einzelne Feature-Classes oder -Tabellen jeweils separate Subtypes erstellen.

Wenn Sie Objekte nach Verhalten, Attributen, Zugriffsberechtigungen oder Multiversionierung unterscheiden, müssen Sie mehrere Feature-Classes erstellen.

Subtype – Workflow

Zum Erstellen von Subtypes für eine Feature-Class oder Tabelle sind folgende Schritte erforderlich:

  1. Subtype-Feld festlegen: Definiert das Feld in der Eingabetabelle oder -Feature-Class, in dem die Subtype-Codes gespeichert sind.
  2. Subtype hinzufügen: Fügt dem Satz an Subtypes in einer Feature-Class oder -Tabelle einen neuen Subtype hinzu.
  3. Standard-Subtype festlegen: Legt den eindeutigen Standardwert eines Subtypes fest, den so genannten "Code".

Im folgenden Beispiel werden Subtypes erstellt, um verschiedene Anschlusstypen in einer Feature-Class mit Wasserrohranschlüssen darzustellen.

Im ersten Schritt wird das Feld definiert, das zum Speichern der Subtype-Informationen verwendet wird:

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("Water/Fittings", "TYPECODE")

Nachdem das Subtype-Feld definiert wurde, werden der Subtype-Liste Codes hinzugefügt.

arcpy.AddSubtype_management ("Water/Fittings","0", "unknown")
arcpy.AddSubtype_management ("Water/Fittings", "1", "bend")
arcpy.AddSubtype_management ("Water/Fittings", "2", "cap")
arcpy.AddSubtype_management ("Water/Fittings", "3", "cross")
arcpy.AddSubtype_management ("Water/Fittings", "4", "coupling")
arcpy.AddSubtype_management ("Water/Fittings", "5", "expansion joint")
arcpy.AddSubtype_management ("Water/Fittings", "6", "offset")
arcpy.AddSubtype_management ("Water/Fittings", "7", "plug")
arcpy.AddSubtype_management ("Water/Fittings", "8", "reducer")
arcpy.AddSubtype_management ("Water/Fittings", "9", "saddle")
arcpy.AddSubtype_management ("Water/Fittings", "10", "sleeve")
arcpy.AddSubtype_management ("Water/Fittings", "11", "tap")
arcpy.AddSubtype_management ("Water/Fittings", "12", "tee")
arcpy.AddSubtype_management ("Water/Fittings", "13", "weld")
arcpy.AddSubtype_management ("Water/Fittings", "14", "riser")

Der letzte Schritt besteht darin, den standardmäßigen Subtype-Code festzulegen:

arcpy.SetDefaultSubtype_management ("Water/Fittings", "2")

Verwandte Themen