Geometrisches Netzwerk verfolgen (Datenverwaltung)
Zusammenfassung
Löst ein bestimmtes Netzwerk-Analyseproblem mithilfe von Flags, Barrieren und festgelegten Gewichtungseigenschaften.
Verwendung
-
Dieses Werkzeug funktioniert nicht mit Netzwerk-Datasets (den Netzwerken, die von der Erweiterung "ArcGIS Network Analyst" verwendet werden).
-
Mit diesem Werkzeug wird eine räumliche Suche mithilfe von Eingabe-Flags und Barrieren durchgeführt, um lagegleiche Features zu finden. Mit Flags wird angegeben, von welchen Features die Verfolgung ausgehen soll. Mit Barrieren wird dagegen festgelegt, welche Features die Verfolgung blockieren sollen. Die Position von Eingabe-Flags und Barrieren muss daher präzise angegeben werden. Wenn Sie sich nicht sicher sind, ob sich die Flags und Barrieren an der richtigen Position befinden, können Sie in ModelBuilder das Werkzeug Fangen verwenden, um festzulegen, mit welchen Features die Flags und Barrieren lagegleich sein sollen.
-
Die Ausgabe dieses Werkzeugs ist ein Gruppen-Layer mit einem Layer für jede Feature-Class, die sich im geometrischen Eingabe-Netzwerk befindet. Alle im Rahmen der Verfolgung zurückgegebenen Features werden innerhalb des betreffenden Layers ausgewählt. Wenn die Eingabe-Layer in der Karte vorhanden sind, kann der Ausgabe-Gruppen-Layer auch Layer ohne Auswahl enthalten; dies sind leere Layer, die bei der Verfolgung keine Features zurückgegeben haben. In ModelBuilder können Sie das Werkzeug Daten auswählen verwenden, um spezifische Layer aus dem Gruppen-Layer zu extrahieren. Mit dem Werkzeug Feature-Layer erstellen können Sie einen Feature-Layer aus der Ausgabe des Werkzeugs Daten auswählen erstellen. Verwenden Sie das Werkzeug Anzahl erhalten, um zu bestimmen, ob irgendein Layer innerhalb des Gruppen-Layers leer ist. Dies ist vor allem beim Veröffentlichen des Modells in ArcGIS for Server hilfreich, da Gruppen-Layer nicht als Ausgabeparametertyp eines Geoverarbeitungs-Task unterstützt werden. Da sie nicht als direkte Ausgabe unterstützt werden, müssen Sie das Werkzeug Daten auswählen verwenden, um einen einzelnen Layer (keinen Gruppen-Layer) für die Ausgabe zu erstellen.
-
Dieses Werkzeug kann nicht ausgeführt werden, während Sie ein geometrisches Netzwerk in einer Personal-Geodatabase bearbeiten.
-
Im Gegensatz zu anderen Datasets, wie Topologie- oder Netzwerk-Datasets, haben geometrische Netzwerke keinen zugehörigen Layer; wenn dieses Werkzeug in ArcMap verwendet wird, muss das geometrische Netzwerk daher von einem Datenträger ausgewählt werden. In Layer-Dropdown-Listen ist keine Option zum Auswählen eines geometrischen Netzwerks als Eingabe vorhanden.
Syntax
Parameter | Erläuterung | Datentyp |
in_geometric_network |
Das geometrische Netzwerk, für das die Verfolgung ausgeführt wird. | Geometric Network |
out_network_layer |
Der Name des Gruppen-Layers, in dem die Ergebnisse der Verfolgung als ausgewählter Satz gespeichert werden. | Group Layer |
in_flags |
Eine Point-Feature-Class mit einer Gruppe von Flags, die als Startpunkte für die Verfolgung dienen. Wenn Sie z. B. eine Verfolgung flussaufwärts durchführen, können Sie ein Flag verwenden, um festzulegen, wo diese Verfolgung beginnen soll. Flags können an einer beliebigen Position entlang von Kanten oder Knoten platziert werden; Knoten werden jedoch zuerst berücksichtigt, wenn sowohl ein Knoten als auch eine Kante an einer Position gefunden werden. | Feature Layer |
in_trace_task_type |
Verfolgungs-Task, der für das angegebene geometrische Netzwerk ausgeführt werden soll.
| String |
in_barriers (optional) |
Eine Point-Feature-Class mit einer Gruppe von Barrieren, die Punkte im Netzwerk definieren, über die hinaus eine weitere Verfolgung nicht möglich ist. Wenn Sie nur einen bestimmten Teil des Netzwerks verfolgen möchten, können Sie Barrieren verwenden, um diesen Teil vom restlichen Netzwerk zu isolieren. Barrieren können an einer beliebigen Position entlang von Kanten oder Knoten platziert werden; Knoten werden jedoch zuerst berücksichtigt, wenn sowohl ein Knoten als auch eine Kante an einer Position gefunden werden. Das Feature wird als deaktiviert betrachtet und bei der Verfolgung nicht berücksichtigt, es sei denn, der Parameter "Ergebnisse auf Features beschränken, die die Verfolgung stoppen" ist auf "TRACE_ENDS" eingestellt, wodurch gezielt nach Features gesucht wird, die die Verfolgung stoppen. | Feature Layer |
in_junction_weight (optional) |
Eine Knotengewichtung, die als Kostenfaktor für das Queren eines beliebigen Knotens verwendet wird. Die Gewichtung muss bereits für das gegebene geometrische Netzwerk definiert worden sein. Dieser Parameter wird deaktiviert oder ignoriert, wenn einer der folgenden kostenunabhängigen Verfolgungs-Task-Typen angegeben wurde:
| String |
in_edge_along_digitized_weight (optional) |
Eine Kantengewichtung, die als Kostenfaktor für das Queren einer Kante entlang der Digitalisierrichtung dieser Kante verwendet wird. Die Gewichtung muss bereits für das gegebene geometrische Netzwerk definiert worden sein. Dieser Parameter wird deaktiviert oder ignoriert, wenn einer der folgenden kostenunabhängigen Verfolgungs-Task-Typen angegeben wurde:
| String |
in_edge_against_digitized_weight (optional) |
Eine Kantengewichtung, die als Kostenfaktor für das Queren einer Kante entgegen der Digitalisierrichtung dieser Kante verwendet wird. Die Gewichtung muss bereits für das gegebene geometrische Netzwerk definiert worden sein. Dieser Parameter wird deaktiviert oder ignoriert, wenn einer der folgenden kostenunabhängigen Verfolgungs-Task-Typen angegeben wurde:
| String |
in_disable_from_trace [in_disable_from_trace,...] (optional) |
Liste der Feature-Classes, die aus der Verfolgung ausgeschlossen sind. Durch das Ausschließen einer Feature-Class werden alle Features in dieser Feature-Class so behandelt, als wären sie deaktiviert oder als würde sich eine Barriere auf ihnen befinden. Verwenden Sie diese Option, wenn Sie eine gesamte Feature-Class aus der Verfolgung ausschließen möchten. Beispiel: Durch das Deaktivieren des Schalter-Layers in einem Stromversorgungsnetz, das Festlegen des Parameters "Ergebnisse auf Features beschränken, die die Verfolgung stoppen" auf TRACE_ENDS und das Verfolgen ausgehend von einem bestimmten Punkt im Netz können Sie die Schalter finden, die ausgeschaltet werden müssen, um diesen Punkt vom Netz abzutrennen. An diesen Features wird die Verfolgung dann angehalten. | String |
in_trace_ends (optional) | Legt fest, ob bei der Verfolgung alle Features einbezogen werden sollen, oder nur die Features, die die Verfolgung beenden. Verwenden Sie diese Option, wenn Sie herausfinden möchten, durch welche Features die Verfolgung beendet wird. Damit die Features im Rahmen des Verfolgungsvorgangs mithilfe dieser Option zurückgegeben werden, müssen sie in eine der folgenden Kategorien fallen:
| Boolean |
in_trace_indeterminate_flow (optional) | Legt fest, ob bei der Verfolgung alle Features einbezogen werden sollen, oder nur die Features, die die Verfolgung beenden.
Dies wird nur berücksichtigt, wenn ein fließabhängiger Verfolgungs-Task-Typ festgelegt ist:
| Boolean |
in_junction_weight_filter (optional) |
Die Gewichtung, die beim Erstellen des Knotengewichtungsfilters verwendet wird. Dieser Filter dient zum Filtern von Knoten-Features während der Verfolgung. | String |
in_junction_weight_range (optional) |
Gibt gültige oder ungültige Bereiche von Gewichtungswerten für die Netzwerk-Features an, die verfolgt werden können. Dies ist deaktiviert, wenn ein kostenunabhängiger Verfolgungs-Task-Typ festgelegt ist. Zum Erstellen eines Gewichtungsfilters müssen Sie gültige Gewichtungsbereiche für die Features angeben. Ein Gewichtungsfilter kann sich aus mehreren Bereichen zusammensetzen. Wenn Sie mehrere Gewichtungsbereiche angeben, müssen Sie diese durch Kommas voneinander trennen. Der niedrigste und der höchste Wert in einem Bereich werden durch einen Bindestrich getrennt. Bereiche, die aus einem einzelnen Wert bestehen, enthalten keinen Bindestrich und werden durch Kommas abgetrennt, z. B.: 0-2,3,6,7-10. | String |
in_junction_weight_range_not (optional) | Wendet den logischen Operator NOT auf die angegebenen Gewichtungsbereiche an. Standardmäßig geben die von Ihnen eingegebenen Knotengewichtungsbereiche Knoten-Features an, die verfolgt werden können. Durch die Auswahl dieser Option legen Sie fest, dass Knoten-Features mit Gewichtungen in den von Ihnen eingegebenen Bereichen nicht verfolgt werden können.
| Boolean |
in_edge_along_digitized_weight_filter (optional) |
Die Gewichtung, die beim Erstellen des Gewichtungsfilters entlang Kanten verwendet wird. Der Filter dient zum Filtern von Kanten-Features während der Verfolgung. | String |
in_edge_against_digitized_weight_filter (optional) |
Die Gewichtung, die beim Erstellen des Gewichtungsfilters entgegen Kanten verwendet wird. Der Filter dient zum Filtern von Kanten-Features während der Verfolgung. | String |
in_edge_weight_range (optional) |
Gibt gültige oder ungültige Bereiche von Gewichtungswerten für die Netzwerk-Features an, die verfolgt werden können. Dies ist deaktiviert, wenn ein kostenunabhängiger Verfolgungs-Task-Typ festgelegt ist. Zum Erstellen eines Gewichtungsfilters müssen Sie gültige Gewichtungsbereiche für die Features angeben. Ein Gewichtungsfilter kann sich aus mehreren Bereichen zusammensetzen. Wenn Sie mehrere Gewichtungsbereiche angeben, müssen Sie diese durch Kommas voneinander trennen. Der niedrigste und der höchste Wert in einem Bereich werden durch einen Bindestrich getrennt. Bereiche, die aus einem einzelnen Wert bestehen, enthalten keinen Bindestrich und werden durch Kommas abgetrennt, z. B.: 0-2,3,6,7-10. | String |
in_edge_weight_range_not (optional) | Wendet den logischen Operator NOT auf die angegebenen Kantengewichtungsbereiche an. Standardmäßig geben die von Ihnen eingegebenen Kantengewichtungsbereiche Kanten-Features an, die verfolgt werden können. Durch die Auswahl dieser Option legen Sie fest, dass Kanten-Features mit Gewichtungen in den von Ihnen eingegebenen Bereichen nicht verfolgt werden können.
| Boolean |
Codebeispiel
Das folgende eigenständige Python-Skript veranschaulicht, wie die Funktion "TraceGeometricNetwork" in Python-Skripten verwendet wird, um den Verfolgungs-Task "FIND_CONNECTED" für ein geometrisches Netzwerk mit Flags und ohne Barrieren auszuführen.
# Import arcpy module
import arcpy
# Local variables:
gnVersionFDS_Net = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/gnVersionFDS_1_Net"
Flags = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/Flags"
gnVersionFDS_1 = "gnVersionFDS_1_Net"
# Process: Trace Geometric Network
arcpy.gp.TraceGeometricNetwork(gnVersionFDS_Net, gnVersionFDS_1, Flags, "FIND_CONNECTED", "", "", "", "", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "", "", "", "AS_IS")
Das folgende eigenständige Python-Skript veranschaulicht, wie die Funktion "TraceGeometricNetwork" in Python-Skripten verwendet wird, um den Verfolgungs-Task "FIND_PATH" für ein geometrisches Netzwerk mit Flags, ohne Barrieren und mit der Gewichtung "Friction_Factor" und einem Gewichtungsfilter von 1 bis 10 auszuführen.
# Import arcpy module
import arcpy
# Local variables:
Water_Net = "C:/GeometricNetworks/Montgomery.gdb/Water/Water_Net"
Flags = "C:/GeometricNetworks/Montgomery.gdb/Water/Flags"
Water_Net_2 = "Water_Net"
# Process: Trace Geometric Network
arcpy.gp.TraceGeometricNetwork(Water_Net, Water_Net_2, Flags, "FIND_PATH", "", "", "Friction_Factor", "Friction_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Friction_Factor", "Friction_Factor", "1-10", "AS_IS")