Wenn Sie eine Netzwerkanalyse durchführen, liegen die Eingaben für die Analyse nur selten genau auf den Kanten oder Knoten der verwendeten Netzwerkdatenquelle. Sie könnten beispielsweise ein Netzwerk-Dataset verwenden, das aus Straßenmittelachsen erstellt wurde, um damit die Schwerpunkte von Flurstücken in der Stadt zu analysieren. Diese Flurstücksschwerpunkte liegen nicht auf den Straßenmittelachsen, sondern in einiger Entfernung von den Straßen. Für eine erfolgreiche Netzwerkanalyse muss Network Analyst für jede Analyseeingabe die Position im Netzwerk-Dataset bestimmen. Dieser Netzwerkstandort wird dann in der Analyse verwendet, nicht die ursprüngliche Position der Eingabe. Beispiel: Wenn Sie die Route zwischen zwei Flurstücken in der Stadt berechnen, sind die Start- und Endpunkte der Route nicht die Flurstücksschwerpunkte, sondern die Positionen, an denen die Flurstücksschwerpunkte an den Straßenmittelachsen gefangen werden.
Die obige Abbildung veranschaulicht, wo sich im Netzwerk ein Routenstopp befindet. Der violette Kreis kennzeichnet die geographische Position des Stopps. Die Routenlinie beginnt jedoch am nächstgelegenen Punkt des Straßennetzes, und dies ist der Netzwerkstandort des Punktes.
Der Prozess der Verortung
Netzwerkstandorte werden auf Grundlage von verschiedenen Faktoren berechnet, wie z. B. die geographische Position der Eingaben, die Einstellungen für die durchzuführende Netzwerkanalyse und die benutzerspezifischen Standorteinstellungen im Werkzeug bzw. in der Funktion, mit dem bzw. der die Eingaben verortet werden. Das Verfahren funktioniert für einen Eingabepunkt wie folgt:
- Network Analyst sucht den Punkt im Netzwerk, der der Position des ursprünglichen Punkts am nächsten liegt.
- Network Analyst berücksichtigt die Einstellungen für die Netzwerkanalyse und die Positionseinstellungen des Benutzers, um zu bestimmen, ob diese Position für die Verortung von Analyseeingaben gültig ist. Wenn die Position als ungültig für die Verortung angesehen wird, wird sie übersprungen, und die nächstgelegene Position wird berücksichtigt. Ein Netzwerkkante oder ein Knoten kann beispielsweise aus den folgenden Gründen als ungültig für die Verortung betrachtet werden:
- Die Position ist durch den ausgewählten Reisemodus eingeschränkt. Beispiel: Wenn mit dem aktuellen Reisemodus Fernverkehrsstraßen eingeschränkt werden und es sich bei der nächstgelegenen Kante um eine Fernverkehrsstraße handelt, können Punkte für diese Analyse nicht auf dieser Kante verortet werden.
- Die Position ist durch eine Barriere eingeschränkt.
- Die Position ist durch von Ihnen eingegebene Positionseinstellungen eingeschränkt. Beispiel: Sie können mit einer Suchabfrage verhindern, dass Eingaben auf Netzwerkkanten mit einer bestimmten Straßenklasse verortet werden.
- Dieser Prozess wird wiederholt, indem der jeweils nächste Netzwerkstandort untersucht wird, bis für den Eingabepunkt ein gültiger Netzwerkstandort gefunden wird. Wenn in der angegebenen Entfernung für die Suchtoleranz keine Position gefunden wird, wird der Punkt nicht verortet und kann in der Analyse nicht verwendet werden.
Nach der Verortung der Eingabe wird ihr Netzwerkstandort als Gruppe von Feldern gespeichert. Diese Felder werden im nachfolgenden Abschnitt über Netzwerkstandortfelder beschrieben.
Beim Verorten von Punkt-Barrieren werden der Reisemodus und andere Barrieren ignoriert. Nur die Geometrie und vom Benutzer angegebene Positionseinstellungen werden berücksichtigt. Linien und Polygone können auch als Eingaben für Netzwerkanalysen verwendet werden, allerdings lediglich als Linien- und Polygon-Barrieren. Diese Barrieren werden auf allen Netzwerkkanten oder -knoten verortet, die sie überlappen (abhängig von den vom Benutzer angegebenen Positionseinstellungen).
Berechnen von Netzwerkstandorten in einem Workflow bei der Netzwerkanalyse
Wie und wann Eingaben im Netzwerk verortet werden, hängt vom jeweiligen Workflow bei der Netzwerkanalyse ab.
Layer-basierte Netzwerkanalyse-Workflows
Wenn Sie Ihre Analyse mit einem Netzwerkanalyse-Layer durchführen, können Sie die Netzwerkstandorte im Voraus, bei Ausführung des Werkzeugs Standorte hinzufügen, automatisch zum Zeitpunkt der Berechnung oder als beliebige Kombination der genannten Möglichkeiten berechnen. In den nachfolgenden Unterabschnitten werden diese Optionen im Kontext verschiedener allgemeiner Workflows beschrieben.
Layer-basierte Workflows mit dem Werkzeug Standorte hinzufügen
Einer der gängigsten Layer-basierten Netzwerkanalyse-Workflows besteht in der Erstellung eines Netzwerkanalyse-Layers, der Ausführung des Werkzeugs Standorte hinzufügen, mit dem Eingaben zum Netzwerkanalyse-Layer hinzugefügt werden, und der Berechnung des Layers.
Wenn der Netzwerkanalyse-Layer ein lokales Netzwerk-Dataset referenziert, werden die Eingaben im Netzwerk verortet, wenn das Werkzeug Standorte hinzufügen ausgewählt wird. Das Werkzeug berechnet die Netzwerkstandorte basierend auf den konfigurierten Parametern, den Reisemodus des Netzwerkanalyse-Layers und allen aktuell im Netzwerkanalyse-Layer gespeicherten Barrieren. Nach der Ausführung des Werkzeugs werden die Eingaben zum angegebenen Sublayer des Netzwerkanalyse-Layers hinzugefügt, und die Netzwerkstandortfelder dieses Sublayers werden mit den berechneten Werten gefüllt. Die Netzwerkstandortfelder werden in der Attributtabelle des Sublayers angezeigt.
Standardmäßig werden bei der Verortung von Eingaben der Reisemodus des Netzwerkanalyse-Layers und vorhandene Barrieren berücksichtigt. Eingaben werden nicht auf Kanten oder Knoten verortet, die durch den Reisemodus oder vorhandene Barrieren eingeschränkt sind. Daher empfiehlt es sich, vor dem Laden anderer Analyseeingaben mit dem Werkzeug Standorte hinzufügen den Reisemodus festzulegen und Barrieren zu laden. Wenn Sie jedoch nach dem Hinzufügen von Positionen den Reisemodus ändern oder Barrieren hinzufügen oder entfernen, werden die Netzwerkstandorte der betroffenen Punkte automatisch zum Zeitpunkt der Berechnung neu ermittelt, um deren Gültigkeit sicherzustellen, es sei denn, die Option für die automatische Neuberechnung ist deaktiviert.
Wenn ein Analyse-Layer einen Portal-Service referenziert, werden dessen Standortfelder erst beim Berechnen der Analyse berechnet. Das Werkzeug Standorte hinzufügen fügt die Eingaben dem Analyse-Layer ohne Berechnung der Standortfelder hinzu. Zum Zeitpunkt der Berechnung werden die Eingaben zusammen mit den Analyseeinstellungen des Netzwerkanalyse-Layers an den Service gesendet. Der Service berechnet die Standortfelder, führt die Analyse durch und gibt das Ergebnis zurück. Sobald der Layer berechnet wurde, sehen Sie die jetzt gefüllten Standortfelder in der Attributtabelle der Eingabe-Sublayer.
Layer-basierte Workflows mit Bearbeitungswerkzeugen zur Erstellung von Eingaben
Ein weiterer gängiger Layer-basierter Netzwerkanalyse-Workflow besteht in der Erstellung eines Netzwerkanalyse-Layers, der Verwendung der Standardbearbeitungswerkzeuge für die manuelle Erstellung von Features im Sublayer und der Berechnung des Layers. Bei diesem Workflow werden die Eingaben zum Zeitpunkt der Berechnung anhand der Suchen-Einstellungen, die im Netzwerkanalyse-Layer, seinem Reisemodus und den Barrieren konfiguriert wurden, im Netzwerk verortet. Nach der Berechnung werden die gefüllten Netzwerkstandortfelder in der Attributtabelle der jeweiligen Eingabe-Sublayer angezeigt.
Layer-basierte Workflows mit vorab berechneten Netzwerkstandorten
In einigen Workflows werden die Netzwerkstandorte für eine Feature-Class mit dem Werkzeug Standorte berechnen im Voraus berechnet. In diesem Fall überträgt das Werkzeug Standorte hinzufügen die vorab berechneten Netzwerkstandortfelder mit der Feldzuordnung aus der Eingabe-Feature-Class in den angegebenen Sublayer.
Sofern die entsprechende Option aktiviert ist, werden unter Umständen einige vorab berechnete Netzwerkstandorte zum Zeitpunkt der Berechnung neu berechnet. Damit wird sichergestellt, dass sie für die Analyse gültig sind. Wenn Sie bei der Vorabberechnung von Netzwerkstandorten vom Standard abweichende Positionseinstellungen verwenden, müssen Sie die Positionseinstellungen des Netzwerkanalyse-Layers entsprechend aktualisieren. Dadurch wird sichergestellt, dass alle Eingaben, die zum Zeitpunkt der Berechnung automatisch neu verortet werden, dieselben Positionseinstellungen verwenden. Weitere Informationen zu diesem Verhalten finden Sie in dem oben verlinkten Thema.
Python-basierte Workflows mit dem Network Analyst-Modul
Wenn Sie Analysen in Python mit dem Network Analyst-Modul arcpy.nax ausführen, werden die Netzwerkstandorte entweder vorab oder zum Zeitpunkt der Berechnung berechnet. Die einzelnen Optionen werden in den folgenden Unterabschnitten zusammengefasst.
Weitere Informationen zum Festlegen der Analyseeingaben für einen Python-basierten Workflow
Python-basierte Workflows ohne vorab berechnete Netzwerkstandorte
In einem typischen Python-basierten Workflow werden die Eingaben mit der Methode load oder der Methode insertCursor für das Netzwerkanalyse-Solver-Objekt zur Analyse hinzugefügt. Die Netzwerkstandorte werden erst berechnet, wenn die Analyse mit der Methode solve berechnet wurde, es sei denn, die vorhandenen Netzwerkstandortfelder werden explizit zugeordnet. Der Reisemodus und alle bei der Analyse verwendeten Barrieren werden ebenso wie die im Netzwerkanalyse-Solver-Objekt konfigurierten Suchen-Einstellungen bei der Verortung von Eingaben berücksichtigt. Sobald die Analyse berechnet wurde, werden die jetzt gefüllten Standortfelder in den Ausgaben angezeigt, auf die über das Ergebnisobjekt des Solvers zugegriffen werden kann.
Python-basierte Workflows mit vorab berechneten Netzwerkstandorten
In einigen Workflows werden die Netzwerkstandorte für eine Feature-Class mit dem Werkzeug Standorte berechnen im Voraus berechnet. In diesem Fall können die Netzwerkstandortfelder beim Hinzufügen von Eingaben mit der Methode load oder der Methode insertCursor zugeordnet werden. Diese bereits vorhandenen Netzwerkstandortfelder werden dann zum Zeitpunkt der Berechnung verwendet.
Sofern die entsprechende Option aktiviert ist, werden unter Umständen einige vorab berechnete Netzwerkstandorte zum Zeitpunkt der Berechnung neu berechnet. Damit wird sichergestellt, dass sie für die Analyse gültig sind. Wenn Sie bei der Vorabberechnung von Netzwerkstandorten vom Standard abweichende Positionseinstellungen verwenden, müssen Sie die Positionseinstellungen des Solver-Objekts entsprechend aktualisieren. Dadurch wird sichergestellt, dass alle Eingaben, die zum Zeitpunkt der Berechnung automatisch neu verortet werden, dieselben Positionseinstellungen verwenden. Weitere Informationen zu diesem Verhalten finden Sie in dem oben verlinkten Thema.
Einstellungen, die sich auf die Verortung von Eingaben auswirken
Das Verortungsverhalten wird durch verschiedene Einstellungen gesteuert.
Sie können angeben, welche Netzwerkkanten- und Netzwerkknotenquellen angeben, die für die Verortung verwendet werden können. Zum Beispiel können Sie die Analyse so konfigurieren, dass Eingaben auf Straßen, aber nicht auf Gehwegen verortet werden. Die Liste der möglichen Quellen, auf deren Basis die Verortung erfolgt, ist spezifisch für das Netzwerk-Dataset, das für die Analyse verwendet wird. Wenn Sie die Netzwerkanalyse mit Layer-basierten Workflows durchführen, können Sie diese Einstellung mit dem Parameter Suchkriterien im Werkzeug Standorte hinzufügen anpassen oder die Eigenschaftenseite des Netzwerkanalyse-Layers verwenden. Wenn Sie eine Analyse in Python mit dem Network Analyst-Modul durchführen, können Sie diese Einstellung mit der Eigenschaft searchSources anpassen (hiermit können Sie ebenfalls Abfragen für die einzelnen Quellen festlegen).
Mit einer Suchabfrage können Sie die Verortung mit einem SQL-Ausdruck auf Netzwerk-Quell-Features beschränken, die bestimmte Merkmale aufweisen. Sie können die Analyse beispielsweise so konfigurieren, dass Eingaben nur auf Straßen-Features verortet werden, die bestimmten Straßenklassen entsprechen. Wenn Sie die Netzwerkanalyse mit Layer-basierten Workflows durchführen, können Sie diese Einstellung mit dem Parameter Suchabfrage im Werkzeug Standorte hinzufügen anpassen oder die Eigenschaftenseite des Netzwerkanalyse-Layers verwenden. Wenn Sie eine Analyse in Python mit dem Network Analyst-Modul durchführen, können Sie diese Einstellung mit der Eigenschaft searchSources anpassen (hiermit können Sie ebenfalls die für die Verortung verwendeten Quellen festlegen).
Mit der Suchtoleranz steuern Sie die maximale Suchentfernung, die bei der Verortung der Eingabe-Features im Netzwerk verwendet werden soll. Wenn innerhalb dieser Entfernung kein gültiger Netzwerkstandort gefunden wird, gilt das Eingabe-Feature als nicht verortet. Bei einer geringen Suchtoleranz wird das Feature mit geringerer Wahrscheinlichkeit auf einer falschen Straße verortet; gleichzeitig besteht eine höhere Wahrscheinlichkeit, dass kein gültiger Netzwerkstandort gefunden wird. Wenn Sie die Netzwerkanalyse mit Layer-basierten Workflows durchführen, können Sie diese Einstellung mit dem Parameter Suchtoleranz im Werkzeug Standorte hinzufügen anpassen oder die Eigenschaftenseite des Netzwerkanalyse-Layers verwenden. Beim Durchführen von Analysen in Python mit dem Modul Network Analyst können Sie diese Einstellung mithilfe der Eigenschaften searchTolerance und searchToleranceUnits anpassen.
Hinweis:
Diese Einstellungen werden nicht unterstützt, wenn die Netzwerkdatenquelle für die Analyse ArcGIS Online oder ein Portal ist, auf dem eine Version von ArcGIS Enterprise älter als 11.0 ausgeführt wird.Weitere Informationen über die Steuerung dieser Einstellungen mit dem Werkzeug Standorte hinzufügen
Separate Steuerung des Verortungsverhaltens für jede Eingabeklasse
Unter bestimmten Umständen kann es sinnvoll sein, das Verortungsverhalten für jeden Eingabetyp in einer Analyse separat zu steuern. Beispielsweise können Sie in der Analyse einer Start-Ziel-Kostenmatrix eine Suchabfrage nur für Eingabestartpunkte verwenden, wenn diese Abfrage nicht für Eingabeziele und Barrieren gelten soll.
Wenn Sie eine Netzwerkanalyse mit Layer-basierten Workflows durchführen, können Sie das Verortungsverhalten der einzelnen Sublayer über die Eigenschaftenseite des Netzwerkanalyse-Layers konfigurieren. Darüber hinaus werden bei der Ausführung des Werkzeugs Standorte hinzufügen alle im Dialogfeld des Werkzeugs konfigurierten Positionseinstellungen, die nicht mit den Standardeinstellungen des Layers übereinstimmen, für diesen Sublayer im Layer beibehalten.
Wenn Sie in Python Analysen mit dem Modul Network Analyst durchführen, können Sie zum Konfigurieren des Verortungsverhaltens für einzelne Eingabeklassen die Methode setLocateSettingsOverrides verwenden; die Standardeinstellungen für die Analyse werden damit außer Kraft gesetzt. Weitere Informationen über diese Methode sowie ein Beispiel finden Sie unter Festlegen von Analyseeingaben.
Hinweis:
Diese Funktion wird nicht unterstützt, wenn die Netzwerkdatenquelle für die Analyse ArcGIS Online oder ein Portal ist, auf dem eine Version von ArcGIS Enterprise älter als 11.0 ausgeführt wird.Netzwerkstandortfelder
Nachdem eine Eingabe im Netzwerk verortet wurde, wird deren Netzwerkstandort mithilfe von Netzwerkstandortfeldern definiert.
Netzwerkstandortfelder für Punkte
Für Punkteingaben enthalten Netzwerkstandortfelder die ID der Netzwerkkante oder des Netzwerkknotens, an der bzw. dem der Punkt verortet wurde. Wenn sich der Punkt an einer Kante befindet, enthalten die Standortfelder auch die Position an der Kante und die Seite der Kante, auf der der Punkt liegt. Es gibt folgende Netzwerkstandortfelder für Punkteingaben:
Feldname | Beschreibung | Datentyp |
---|---|---|
SourceID | Die numerische Kennung der Quell-Feature-Class des Netzwerk-Datasets, in der sich der Eingabepunkt befindet. | Long |
SourceOID | Die ObjectID des Features in der Quelle, in dem sich der Eingabepunkt befindet. | Long |
PosAlong | Die Position entlang der Digitalisierrichtung des als Quelle verwendeten Linien-Features. Dieser Wert wird als Verhältnis gespeichert. Dieses Feld ist NULL, wenn der Netzwerkstandort einen Knoten referenziert. | Double |
SideOfEdge | Die Seite der Kante im Verhältnis zur Digitalisierrichtung des Linien-Features. Dieses Feld ist auf zwei Werte beschränkt: Rechte Seite (1) und Linke Seite (2). | Long |
SnapX | Die X-Koordinate der Position im Netzwerk-Dataset, an der sich der Punkt befand, im Koordinatensystem des Netzwerk-Datasets. | Double |
SnapY | Die Y-Koordinate der Position im Netzwerk-Dataset, an der sich der Punkt befand, im Koordinatensystem des Netzwerk-Datasets. | Double |
SnapZ | Die Z-Koordinate der Position im Netzwerk-Dataset, an der sich der Punkt befand, im Koordinatensystem des Netzwerk-Datasets. Das Feld SnapZ ist 0, wenn das Netzwerk zweidimensional ist. | Double |
DistanceToNetworkInMeters | Die Entfernung in Metern zwischen der geographischen Position des Punktes und der Position, an der er sich im Netzwerk befand. | Double |
Netzwerkstandortfelder für Linien und Polygone
Linien und Polygone können bei einer Netzwerkanalyse als Barrieren verwendet werden. Der Netzwerkstandort einer Linien- oder Polygoneingabe wird mit einem BLOB-Feld definiert: Locations.
Feldname | Beschreibung | Datentyp |
---|---|---|
Locations | Die Information in diesem Feld definiert, welche Netzwerkkanten und -knoten durch die Linie oder das Polygon abgedeckt sind und welcher Anteil des Kantenelements jeweils abgedeckt ist. Die Information in diesem Feld kann nicht direkt gelesen oder bearbeitet werden. Sie wird jedoch von Network Analyst beim Berechnen einer Analyse interpretiert. | BLOB |
Nicht verortete Eingaben
Manchmal kann Network Analyst eine Eingabe nicht im Netzwerk verorten. Dies passiert häufig, wenn keine gültigen Netzwerkkanten oder -knoten innerhalb der angegebenen Entfernung für die Suchtoleranz gefunden werden können. Diese nicht verorteten Eingaben können in der Netzwerkanalyse nicht verwendet werden.
Wenn ein Punkt nicht verortet wurde, werden die Netzwerkstandortfelder nicht gefüllt. Darüber hinaus hat das Feld Status den Wert 1(Not Located). Sie können mit dem Feld Status Ihre Tabelle abfragen, um alle nicht verorteten Eingaben zu finden. Prüfen Sie die geographische Position dieser nicht verorteten Punkte, um zu bestimmen, ob sie ignoriert werden können oder bearbeitet werden müssen.
Wenn Sie einen Netzwerkanalyse-Layer berechnen, werden nicht veortete Eingaben standardmäßig ignoriert. Wenn die Berechnung bei nicht verorteten Eingaben fehlschlagen soll, deaktivieren Sie die Option Ungültige Standorte ignorieren im Werkzeug Berechnen. Verwenden Sie in Python-basierten Workflows die Eigenschaft ignoreInvalidLocations des Netzwerkanalyse-Solver-Objekts, um anzugeben, ob nicht verortete Punkte ignoriert werden sollen.
Vorabberechnen von Netzwerkstandortfeldern
Das Berechnen von Netzwerkstandorten für eine große Anzahl von Eingaben kann zeitaufwendig sein. Wenn Sie die gleichen Eingabedaten für mehrere Analysen mit den gleichen Netzwerk-Dataset- und Analyseeinstellungen verwenden möchten, können Sie die Verarbeitungszeit reduzieren, indem Sie Ihre Netzwerkstandortfelder vorab berechnen.
Verwenden der Peilung eines Fahrzeugs für eine genauere Berechnung von Netzwerkstandorten
Die Richtung, in die sich ein Fahrzeug bewegt, oder dessen Peilung kann zur genaueren Bestimmung der Position im Netzwerk herangezogen werden.
Weitere Informationen zur Verwendung der Peilung beim Verorten von Punkten