Verorten von Analyseeingaben

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.

Ein Punkt auf einer Netzwerkkante

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.

Funktionsweise 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:

  1. Network Analyst sucht den nächstgelegenen Punkt der Netzwerkkante, die der ursprünglichen Punktposition am nächsten liegt.
  2. Network Analyst berücksichtigt die Einstellungen für die Netzwerkanalyse und die Positionseinstellungen des Benutzers, um zu bestimmen, ob diese Kante für die Verortung von Analyseeingaben gültig ist. Wenn die Kante als ungültig für die Verortung angesehen wird, wird sie übersprungen, und die nächste Kante wird berücksichtigt. Ein Kante kann beispielsweise aus den folgenden Gründen als ungültig für die Verortung betrachtet werden:
    • Die Kante 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 Kante bzw. der nächstgelegene Teil der Kante ist durch eine Barriere eingeschränkt.
    • Die Kante 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.
  3. Dieser Prozess wird wiederholt, indem die jeweils nächste Netzwerkkante 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.
Eingaben können auch auf Knoten im Netzwerk verortet werden.

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).

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:

FeldnameBeschreibungDatentyp

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.

FeldnameBeschreibungDatentyp

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

Wie und wann Netzwerkstandorte in einer Netzwerkanalyse berechnet werden

Wie und wann Eingaben im Netzwerk verortet werden, hängt davon ab, wie Sie die Netzwerkanalyse durchführen.

Layer-basierte Netzwerkanalyse-Workflows

Beim Durchführen der Analyse mit einem Netzwerkanalyse-Layer werden Eingaben mit dem Werkzeug Standorte hinzufügen zum Netzwerkanalyse-Layer hinzugefügt. Wenn Ihr Analyse-Layer ein lokales Netzwerk-Dataset referenziert, werden die Netzwerkstandorte der Eingaben beim Ausführen des Werkzeugs Standorte hinzufügen berechnet. Sie können dann die ausgefüllten Netzwerkstandortfelder in der Attributtabelle des Sublayers anzeigen, in dem Sie die Eingaben hinzugefügt haben. Standardmäßig werden die Positionen von Punkten in der Anzeige des Netzwerkanalyse-Layers an ihren ursprünglichen Positionen hinzugefügt, auch wenn die Netzwerkstandorte berechnet wurden und in der Analyse verwendet werden. Sie können die Punkte stattdessen an ihren Netzwerkstandorten anzeigen, indem Sie im Werkzeug Standorte hinzufügen die Option An Netzwerk fangen aktivieren.

Das Werkzeug Standorte hinzufügen enthält verschiedene Einstellungen, um das Verortungsverhalten zu steuern Sie können beispielsweise die Entfernung für die Suchtoleranz festlegen, angeben, welche Netzwerkquellen für die Verortung verwendet werden sollen, oder eine Suchabfrage einrichten, um Netzwerkquellen-Features auf solche mit bestimmten Eigenschaften einzuschränken. In der Dokumentation des Werkzeugs finden Sie weitere Informationen zu dieser Optionen.

Darüber hinaus 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 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.

Wenn der Analyse-Layer einen Portal-Service referenziert, werden die 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 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.

Sie können auch mit den Bearbeitungswerkzeugen manuell Eingaben für die Netzwerkanalyse erstellen. Die Netzwerkstandorte für die Eingabe-Features werden automatisch berechnet, wenn Sie den Analyse-Layer berechnen.

Workflows mit den sofort einsatzfähigen Werkzeugen

Beim Durchführen von Analysen mit den ArcGIS Online routing services über die sofort einsatzfähigen Werkzeuge werden Netzwerkstandorte vom Service berechnet, wenn Sie das Werkzeug ausführen. Die verwendeten Netzwerkstandorte werden in den Attributtabellen der Eingabe-Features angezeigt, die vom Service zurückgegeben werden. In den sofort einsatzfähigen Werkzeugen sind keine spezifischen Positionseinstellungen verfügbar. Stattdessen werden die Einstellungen für den Reisemodus und Barrieren beim Verorten von Eingaben berücksichtigt. Eingaben werden nicht auf Kanten oder Knoten verortet, die durch den Reisemodus oder die angegebenen Einschränkungen und Impedanzattribute eingeschränkt werden oder von Barrieren abgedeckt sind.

Python-basierte Workflows mit dem Network Analyst-Modul

Wenn Sie eine Analyse in Python mit dem Network Analyst-Modul arcpy.nax durchführen, werden 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. 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.

Jedes Netzwerkanalyse-Objekt enthält einige Eigenschaften, mit denen das Verortungsverhalten gesteuert wird. Sie können beispielsweise mit den Eigenschaften searchTolerance und searchToleranceUnits eine Entfernung für die Suchtoleranz festlegen oder mit der Eigenschaft searchQuery ein Suchabfrage einrichten, um Netzwerk-Quell-Features einzuschränken, die bestimmten Eigenschaften entsprechen. Darüber hinaus werden bei der Verortung von Eingaben der Reisemodus des Analyseobjekts und Barrieren berücksichtigt. Eingaben werden nicht auf Kanten oder Knoten verortet, die durch den Reisemodus oder vorhandene Barrieren in der Analyse eingeschränkt sind.

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. Sie können das Werkzeug Standorte berechnen verwenden. Es fügt basierend auf bestimmten Netzwerk-Dataset-, Reisemodus- und Werkzeugeinstellungen Netzwerkstandortfelder zu einer Feature-Class hinzu.

Beim Durchführen von Analysen mit einem Netzwerkanalyse-Layer können Ihre vorab berechneten Standortfelder verwendet werden, wenn Sie mit dem Werkzeug Standorte hinzufügen Eingaben zum Analyse-Layer hinzufügen. Nutzen Sie dabei die Option Feldzuordnungen, um die Netzwerkstandortfelder Ihrer Eingabe-Features den Netzwerkstandorteigenschaften zuzuordnen. Wenn Sie das Werkzeugdialogfeld verwenden, legen Sie das Kombinationsfeld für Feldzuordnungen auf Netzwerkstandortfelder verwenden fest, um diese Zuordnung zu aktivieren.

Beim Durchführen von Analysen in Python mit dem Network Analyst-Modul können die Netzwerkstandortfelder aus Ihren Eingaben über den Parameter field_mappings der Methode load den Feldern in der Eingabeklasse zugeordnet werden, sofern der Parameter use_location_fields auf True festgelegt ist.

Ordnen Sie beim Zuordnen von Netzwerkstandortfeldern für eine Analyse nur die Felder SourceID, SourceOID, PosAlong und SideOfEdge zu. Die Felder SnapX, SnapY, SnapZ und DistanceToNetworkInMeters dienen lediglich zu Informationszwecken. Sie sind für die Angabe von Positionen für eine Analyse nicht erforderlich.

Sie können vorab berechnete Netzwerkstandorte nicht verwenden, wenn Sie sofort einsatzfähige Werkzeuge aus ArcGIS Online einsetzen oder wenn Sie einen Netzwerkanalyse-Layer nutzen, der ArcGIS Online als Netzwerkdatenquelle referenziert. Wenn Ihr Netzwerkanalyse-Layer jedoch Ihr Enterprise-Portal als Netzwerkdatenquelle referenziert, können Sie Standortfelder mit dem gleichen Netzwerk-Dataset vorab berechnen, das Sie zum Veröffentlichen der ArcGIS Enterprise routing services verwendet haben. Die Services nutzen dann die Standortfelder beim Berechnen der Analyse.

Vorab berechnete Standortfelder sind nur für das Netzwerk-Dataset und den Reisemodus gültig, für das bzw. den sie berechnet wurden. Wenn Sie diese Punkte mit einem anderen Netzwerk oder Reisemodus verwenden möchten, berechnen Sie die Standortfelder neu. Darüber hinaus können Sie gespeicherte Standortfelder neu berechnen, wenn Sie das Netzwerk-Dataset bearbeiten, falls die Änderungen Auswirkungen auf die Verortung der Eingaben haben.

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. Beim Durchführen von Analysen mit den sofort einsatzfähigen Werkzeugen werden nicht verortete Eingaben immer ignoriert.

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