Zusammenfassung
Die Analyse beim Suchen einer Route kann bedeuten, dass der schnellste oder der kürzeste Weg zwischen Positionen ermittelt wird. Sie können dieses Werkzeug einsetzen, um Wegbeschreibungen zum Besuch mehrerer Stopps zu erzeugen oder um die Entfernung oder Reisezeit zwischen Positionen zu messen. Das Werkzeug kann bei jeder Ausführung Routen für ein oder mehrere Fahrzeuge ermitteln. Auf diese Weise können Sie z. B. die optimalen Routen für verschiedene Fahrer zum Besuch der zugewiesenen Stopps suchen oder mit einer einzigen Berechnung die Entfernung zwischen Wohnung und Arbeitsplatz für viele Pendler messen.
Informationen über die Ausgabe des Werkzeugs "Routen suchen"
Abbildung
Verwendung
- Zum Suchen nach Routen für mehrere Fahrzeuge verwenden Sie das Attribut RouteName, das im Zusammenhang mit dem Parameter Stopps beschrieben wird. Die Suche nach Routen für viele Fahrzeuge setzt die Gruppierung der Stopps in kleinere Teilmengen – eine Teilmenge für jede Route bzw. jedes Fahrzeug – voraus, bevor die Berechnung erfolgen kann. Für jede Teilmenge von Stopps wird eine Route erzeugt. (Verwenden Sie stattdessen das Werkzeug "Vehicle Routing Problem", wenn Sie die Gruppierung der Stopps sowie auch die Routen zwischen den Stopps für sich optimieren lassen möchten.)
Im Dialogfeld des Werkzeugs sind die verschiedenen optionalen Parameter in die folgenden sechs Kategorien gruppiert, um Ihnen die Verwaltung zu erleichtern:
- Erweiterte Analyse
- Barrieren
- Benutzerdefinierter Reisemodus
- Netzwerk-Dataset
- Netzwerkstandorte
- Ausgabe
- Service-Eigenschaften
Syntax
arcpy.na.FindRoutes(Stops, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Routes_Name, Output_Route_Edges_Name, Output_Directions_Name, Output_Stops_Name, {Reorder_Stops_to_Find_Optimal_Routes}, {Preserve_Terminal_Stops}, {Return_to_Start}, {Use_Time_Windows}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {UTurn_Policy}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Time_Attribute}, {Time_Attribute_Units}, {Distance_Attribute}, {Distance_Attribute_Units}, {Use_Hierarchy_in_Analysis}, {Restrictions}, {Attribute_Parameter_Values}, {Accumulate_Attributes}, {Maximum_Snap_Tolerance}, {Feature_Locator_WHERE_Clause}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Route_Edges}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {Maximum_Features_Affected_by_Point_Barriers}, {Maximum_Features_Affected_by_Line_Barriers}, {Maximum_Features_Affected_by_Polygon_Barriers}, {Maximum_Stops}, {Maximum_Stops_per_Route}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer}, {Travel_Mode}, {Time_Zone_for_Time_Windows}, {Overrides}, {Save_Route_Data})
Parameter | Erklärung | Datentyp |
Stops | Dieses Werkzeug sucht nach Routen zwischen den in diesem Parameter festgelegten Stopps. Es sind mindestens zwei Stopps erforderlich, um eine Analyse zu berechnen. Bei der Angabe von Stopps können Sie mithilfe von Attributen deren jeweilige Eigenschaften, darunter Name oder Durchführungszeit, festlegen. Für die Stopps können folgende Attribute angegeben werden: OBJECTID: Das vom System verwaltete ID-Feld. SHAPE: Das Geometriefeld, das die geographische Position des Ereignisses angibt. Name: Der Name des Stopps. Der Name wird in der Wegbeschreibung verwendet. Wenn kein Name angegeben ist, wird in den Ausgabestopps, -routen und -wegbeschreibungen automatisch ein eindeutiger Name generiert, dem "Location" vorangestellt wird. RouteName: Der Name der Route, der der Stopp zugewiesen wird. Wenn verschiedenen Stopps derselbe Routenname zugewiesen wird, kann dies dazu führen, dass die Stopps gruppiert und auf der gleichen Route angegeben werden. Sie können viele Routen in einem Berechnungsvorgang erstellen, indem Sie verschiedenen Gruppen von Stopps eindeutige Routennamen zuweisen. Mit diesem Werkzeug können Sie maximal 150 in einer Route gruppieren. Sequence: Die Stopps der Ausgaberouten weisen die mit diesem Attribut angegebene Reihenfolge auf. Innerhalb einer Gruppe von Stopps mit demselben Routennamenwert sollte die Sequenznummer größer sein als Null, die Gesamtzahl der Stopps jedoch nicht übersteigen. Zudem darf keine Sequenznummer doppelt vorhanden sein. Wenn Stopps für Suche nach optimaler Route neu anordnen aktiviert ist (True), werden alle außer möglicherweise dem ersten und letzten Sequenzwert für jeden Routennamen ignoriert, sodass das Werkzeug die Sequenz ermitteln kann, bei der die Gesamtstrecke für jede Route auf ein Minimum reduziert wird. (Mit den Einstellungen für Reihenfolge der Stopps beibehalten und Zurück zum Start wird festgelegt, ob der erste oder letzte Sequenzwert für jede Route ignoriert wird.) AdditionalTime: Die Zeit, die am Stopp verbracht wird. Sie wird der Gesamtzeit der Route hinzugefügt. Die Einheiten für diesen Attributwert werden vom Parameter Maßeinheiten angegeben. Der Attributwert wird nur dann in die Analyse einbezogen, wenn die Maßeinheiten zeitbasiert sind. Der Standardwert ist 0. Im Allgemeinen befindet sich die Position eines Stopps (z. B. ein Haus) nicht direkt auf der Straße, sondern etwas davon zurückgesetzt. Dieser Attributwert kann verwendet werden, um die Entfernung zwischen der tatsächlichen Position des Stopps und seiner Position an der Straße zu modellieren, wenn es wichtig ist, diese Entfernung in die gesamte Fahrstrecke einzubeziehen. AdditionalDistance: Die zusätzlich gefahrene Strecke bei den Stopps. Sie wird der Gesamtstrecke der Route hinzugefügt. Die Einheiten für diesen Attributwert werden vom Parameter Maßeinheiten angegeben. Der Attributwert wird nur dann in die Analyse einbezogen, wenn die Maßeinheiten entfernungsbasiert sind. Der Standardwert ist 0. Im Allgemeinen befindet sich die Position eines Stopps (z. B. ein Haus) nicht direkt auf der Straße, sondern etwas davon zurückgesetzt. Dieser Attributwert kann verwendet werden, um die Entfernung zwischen der tatsächlichen Position des Stopps und seiner Position an der Straße zu modellieren, wenn es wichtig ist, diese Entfernung in die gesamte Fahrstrecke einzubeziehen. TimeWindowStart: Der früheste Zeitpunkt, zu dem der Stopp angefahren werden kann. Vergewissern Sie sich, dass Sie den Wert als Datums- und Uhrzeitwert angegeben haben, beispielsweise 12.08.2015 00:15. Durch Angabe einer Start- und Endzeit für das Zeitfenster eines Stopps legen Sie fest, wann eine Route den Stopp erreichen sollte. Solange Zeitfenster aktiviert ist und Sie eine zeitbasierte Einheit für Maßeinheiten ausgewählt haben, versucht das Werkzeug, eine Lösung zu finden, bei der die Gesamtfahrzeit auf ein Minimum reduziert und der Stopp innerhalb des vorgeschriebenen Zeitfensters erreicht wird. Werden bei der Lösung eines Problems mehrere Zeitzonen erfasst, so beziehen sich die in den Zeitfenstern angegebenen Werte auf die Zeitzone, in der sich der Stopp befindet. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass ein Fahrzeug zu einem beliebigen Zeitpunkt vor der im TimeWindowEnd-Attribut angegebenen Zeit ankommen kann. Wenn ein NULL-Wert auch im TimeWindowEnd-Attribut enthalten ist, kann eine Route den Stopp jederzeit erreichen. TimeWindowEnd: Der späteste Zeitpunkt, zu dem der Stopp erreicht werden kann. Vergewissern Sie sich, dass Sie den Wert als Datums- und Uhrzeitwert angegeben haben, beispielsweise 12.08.2015 00:15. Durch Angabe einer Start- und Endzeit für das Zeitfenster eines Stopps legen Sie fest, wann eine Route den Stopp erreichen sollte. Solange Zeitfenster aktiviert ist und Sie eine zeitbasierte Einheit für Maßeinheiten ausgewählt haben, versucht das Werkzeug, eine Lösung zu finden, bei der die Gesamtfahrzeit auf ein Minimum reduziert und der Stopp innerhalb des vorgeschriebenen Zeitfensters erreicht wird. Werden bei der Lösung eines Problems mehrere Zeitzonen erfasst, so beziehen sich die in den Zeitfenstern angegebenen Werte auf die Zeitzone, in der sich der Stopp befindet. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass ein Fahrzeug zu einem beliebigen Zeitpunkt nach der im TimeWindowStart-Attribut angegebenen Zeit ankommen kann. Wenn ein NULL-Wert auch im TimeWindowStart-Attribut enthalten ist, kann eine Route den Stopp jederzeit erreichen. CurbApproach: Gibt die Richtung an, in der ein Fahrzeug den Stopp erreicht bzw. von ihm wegfährt. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
Die Eigenschaft CurbApproach ist für die Verwendung sowohl in Ländern mit Rechtsverkehr (Deutschland) als auch in Ländern mit Linksverkehr (Großbritannien) konzipiert. Stellen Sie sich zunächst einen Stopp auf der linken Seite eines Fahrzeugs vor. Es befindet sich stets auf der linken Seite, egal ob das Fahrzeug auf der linken oder rechten Seite der Straße fährt. Was sich abhängig von den nationalen Verkehrsregeln ändern kann, ist Ihre Entscheidung, aus welcher Richtung Sie sich dem Stopp nähern, so dass es sich entweder links oder rechts vom Fahrzeug befindet. Wenn Sie beispielsweise einen Stopp erreichen und sich keine Fahrspur zwischen dem Fahrzeug und dem Stopp befinden soll, wählen Sie in den USA die rechte Seite des Fahrzeugs (1), in Großbritannien hingegen die linke Seite des Fahrzeugs (2) aus. | Feature Set |
Measurement_Units | Geben Sie die Einheiten zum Messen und Melden der gesamten Fahrzeit oder Fahrstrecke für die Ausgaberouten an. Mit den für diesen Parameter gewählten Einheiten legen Sie fest, ob das Werkzeug die gemessene Entfernung oder Fahrzeit misst, um die besten Routen zu suchen. Wählen Sie eine Zeiteinheit aus, um die Reisezeit für einen ausgewählten Reisemodus zu minimieren (z. B. Fahr- oder Gehzeit). Um die Reisestrecke für einen angegebenen Reisemodus zu minimieren, wählen Sie eine Entfernungseinheit aus. Von Ihrer Eingabe ist auch abhängig, in welchen Einheiten das Werkzeug die resultierende Gesamtzeit oder -entfernung zurückgibt. Die folgenden Optionen sind verfügbar:
Ob im Werkzeug das im Parameter Zeitattribut oder Entfernungsattribut angegebene Netzwerkkostenattribut verwendet wird, hängt davon ab, ob die ausgewählten Maßeinheiten zeit- oder entfernungsbasiert sind. Wenn der Wert Maßeinheiten von den Einheiten des entsprechenden zeit- oder entfernungsbasierten Kostenattributs abweicht, wird die erforderliche Einheitenumrechnung vom Werkzeug durchgeführt. | String |
Network_Dataset | Das Netzwerk-Dataset, für das die Analyse ausgeführt wird. Netzwerk-Datasets stellen meist Straßennetze dar; es kann sich dabei jedoch auch um andere Transportnetze handeln. Das Netzwerk-Dataset muss mindestens über ein zeitbasiertes und ein entfernungsbasiertes Kostenattribut verfügen. | Network Dataset Layer |
Output_Geodatabase | Der Ausgabe-Workspace. Dieser Workspace muss bereits vorhanden sein. Der standardmäßige Ausgabe-Workspace ist in_memory. | Workspace |
Output_Routes_Name | Der Name der Ausgabe-Feature-Class, die Routen oder die Linien, die Stopps verbinden, enthält. Diese Feature-Class enthält als Attribut auch die Gesamtfahrzeit oder -entfernung. Das Schema dieser Ausgabe-Feature-Class wird unter Ausgabe von "Routen suchen" beschrieben. | String |
Output_Route_Edges_Name | Der Name der Ausgabe-Feature-Class mit den Routenkanten. Routenkanten stellen die einzelnen Straßen-Features dar, die von einer Route durchlaufen werden. Das Schema dieser Ausgabe-Feature-Class wird unter Ausgabe von "Routen suchen" beschrieben. | String |
Output_Directions_Name | Der Name der Ausgabe-Feature-Class mit einer Wegbeschreibung. Das Schema dieser Ausgabe-Feature-Class wird unter Ausgabe von "Routen suchen" beschrieben. | String |
Output_Stops_Name | Der Name der Ausgabe-Feature-Class mit den Ausgabestopps. Das Schema dieser Ausgabe-Feature-Class wird unter Ausgabe von "Routen suchen" beschrieben. | String |
Reorder_Stops_to_Find_Optimal_Routes (optional) | Geben Sie an, ob die Stopps in der von Ihnen definierten oder in der vom Werkzeug zur Minimierung der Gesamtfahrzeit festgelegten Reihenfolge angefahren werden sollen.
Die Suche nach der optimalen Stoppreihenfolge und den besten Routen wird im Allgemeinen als Lösung für das Problem des Handlungsreisenden (Traveling Salesman Problem, TSP) bezeichnet. | Boolean |
Preserve_Terminal_Stops (optional) | Wenn Stopps für Suche nach optimaler Route neu anordnen aktiviert (oder True) ist, stehen Optionen zum Beibehalten der Start- oder Endstopps zur Verfügung, und das Werkzeug kann die restlichen neu anordnen. Der erste und letzte Stopp werden anhand ihrer Sequence-Attributwerte oder ihrer Objekt-ID-Werte festgelegt, wenn die Sequence-Werte gleich Null sind.
Endstopps beibehalten wird ignoriert, wenn Stopps für Suche nach optimaler Route neu anordnen nicht deaktiviert (oder False) ist. | String |
Return_to_Start (optional) | Legen Sie fest, ob die Routen an derselben Position starten und enden sollen. Mit dieser Option können Sie die Duplizierung des ersten Stopp-Features und die Sequenzierung des doppelten Stopps am Ende vermeiden. Die Startposition der Route ist das Stopp-Feature mit dem niedrigsten Wert im Sequence-Attribut. Wenn die Sequence-Werte NULL sind, hat das Stopp-Feature den niedrigsten Objekt-ID-Wert.
| Boolean |
Use_Time_Windows (optional) | Aktivieren Sie diese Option (oder setzen Sie sie auf True), wenn Eingabestopps, die angeben, wann die Route den Stopp erreichen soll, Zeitfenster aufweisen. Sie können Zeitfenster zu Eingabestopps hinzufügen, indem Sie Zeitwerte in die Attribute TimeWindowStart und TimeWindowEnd eingeben.
Die Ausführung des Werkzeugs nimmt bei aktivierter Option Zeitfenster (oder True) auch dann etwas mehr Zeit in Anspruch, wenn keine der Eingabestopps Zeitfenster aufweisen. Daher wird empfohlen, diese Option nach Möglichkeit zu deaktivieren (auf False zu setzen). | Boolean |
Time_of_Day (optional) | Gibt die Uhrzeit und das Datum für den Beginn der Routen an. Wenn das Netzwerk-Dataset Live- oder historische Verkehrsdaten enthält, führt die Angabe eines Zeitpunktes zu einer genaueren Schätzung der Fahrzeit zwischen den Stopps, da die Fahrzeiten von den Verkehrsbedingungen abhängen, die zu dieser Zeit herrschen. Mit dem Parameter Zeitzone für Uhrzeit wird angegeben, ob sich die Uhrzeit und das Datum auf UTC oder die Zeitzone, in der sich die Einrichtung oder der Stopp befindet, bezieht. Das Werkzeug ignoriert diesen Parameter, wenn die Option Maßeinheiten nicht auf eine zeitbasierte Einheit festgelegt ist. | Date |
Time_Zone_for_Time_of_Day (optional) | Gibt die Zeitzone des Parameters Zeitpunkt an.
| String |
UTurn_Policy (optional) | Die Wendenregel an Knoten. Das Zulassen von Wenden bedeutet, dass der Solver an einem Knoten wenden und auf der gleichen Straße wieder zurückführen kann. Da diese Knoten Straßenkreuzungen und Sackgassen darstellen können, kann es sein, dass verschiedene Fahrzeuge an manchen Knoten wenden können und an anderen wiederum nicht. Dies hängt davon ab, ob der Knoten eine Kreuzung oder eine Sackgasse darstellt. Zu diesem Zweck wird der Wendenregel-Parameter implizit angegeben, indem die Anzahl der mit der Kreuzung verbundenen Kanten bzw. Straßen angegeben wird, was als Valenz der Knoten bezeichnet wird. Die zulässigen Werte für diesen Parameter sowie eine Beschreibung der jeweiligen Bedeutung in Bezug auf die Valenz der Knoten sind unten aufgelistet.
Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als "Benutzerdefiniert" festgelegt wird. | String |
Point_Barriers (optional) | Legt Punkt-Barrieren fest, die in zwei Typen unterteil sind: Punkt-Barrieren für Einschränkungen und Punkt-Barrieren für Zusatzkosten. Sie schränken das Passieren von Punkten oder Hinzufügen von Impedanz zu Punkten im Netzwerk vorübergehend ein. Die Punkt-Barrieren werden durch ein Feature-Set definiert und anhand der Attributwerte, die Sie für die Punkt-Features angeben, wird festgelegt, ob es sich um Punkt-Barrieren für Einschränkungen oder Punkt-Barrieren für Zusatzkosten handelt. Die Felder in der Attributtabelle sind unten aufgelistet und beschrieben. ObjectID: Das vom System verwaltete ID-Feld. Shape: Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. Name: Der Name der Barriere. BarrierType: Gibt an, ob die Barriere die Reise völlig beschränkt oder Kosten beim Passieren der Barriere hinzufügt. Es gibt zwei Optionen:
Verwenden Sie den Wert 0 für "Einschränkung" und den Wert 2 für "Zusatzkosten" Additional_Time: Gibt die zusätzliche Fahrzeit an, die durch das Passieren der Barriere entsteht. Dieses Feld gilt nur für Barrieren vom Typ "Zusatzkosten" und ausschließlich für zeitbasierte Maßeinheiten. Dieser Feldwert muss größer oder gleich Null sein, und seine Einheiten werden vom Parameter Maßeinheiten vorgegeben. Additional_Distance: Gibt die zusätzliche Strecke an, die durch das Passieren der Barriere entsteht. Dieses Feld gilt nur für Barrieren vom Typ "Zusatzkosten" und ausschließlich für entfernungsbasierte Maßeinheiten. Der Feldwert muss größer oder gleich Null sein, und seine Einheiten werden vom Parameter Maßeinheiten vorgegeben. | Feature Set |
Line_Barriers (optional) | Gibt Linien-Barrieren an, für die das Passieren vorübergehend eingeschränkt ist. Die Linien-Barrieren werden durch ein Feature-Set definiert. Die Felder in der Attributtabelle sind unten aufgelistet und beschrieben. ObjectID: Das vom System verwaltete ID-Feld. Shape: Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. Name: Der Name der Barriere. | Feature Set |
Polygon_Barriers (optional) | Legt Polygon-Barrieren fest, die in zwei Typen unterteil sind: Punkt-Barrieren für Einschränkungen und Punkt-Barrieren für skalierte Kosten. Sie schränken das Passieren oder Skalieren der Impedanz für die Teile des Netzwerks ein, die sie abdecken. Die Polygon-Barrieren werden durch ein Feature-Set definiert und anhand der Attributwerte, die Sie für die Polygon-Features angeben, wird festgelegt, ob es sich um Punkt-Barrieren für Einschränkungen oder Punkt-Barrieren für skalierte Kosten handelt. Die Felder in der Attributtabelle sind unten aufgelistet und beschrieben. ObjectID: Das vom System verwaltete ID-Feld. Shape: Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. Name: Der Name der Barriere. BarrierType: Gibt an, ob die Barriere die Reise völlig beschränkt oder die Kosten für das Passieren der Barriere skaliert. Es gibt zwei Optionen:
Verwenden Sie den Wert 0 für "Einschränkung" und den Wert 1 für "Kostenfaktor". ScaledTimeFactor: Um diesen Faktor erhöht sich die Fahrzeit durch die Straßen, die von der Barriere abgeschnitten werden. Dieses Feld gilt nur für Barrieren vom Typ "Kostenfaktor" und ausschließlich für zeitbasierte Maßeinheiten. Der Feldwert muss größer 0 sein. ScaledDistanceFactor: Um diesen Faktor erhöht sich die Strecke durch die Straßen, die von der Barriere abgeschnitten werden. Dieses Attribut gilt nur für Barrieren vom Typ "Kostenfaktor" und ausschließlich für entfernungsbasierte Maßeinheiten. Der Attributwert muss größer als null sein. | Feature Set |
Time_Attribute (optional) | Definiert das Netzwerkkostenattribut, das bei einem zeitbasierten Wert für Maßeinheiten verwendet werden soll. Wenn der Wert für Maßeinheiten von den Einheiten des hier definierten Kostenattributs abweicht, wird die erforderliche Zeiteinheitenkonvertierung vom Werkzeug durchgeführt. Anders ausgedrückt, die Zeiteinheiten des Standard-Grenzwertes und des Netzwerkkostenattributs müssen nicht identisch sein. Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als Benutzerdefiniert festgelegt wird. | String |
Time_Attribute_Units (optional) | Die Einheiten des Zeitattributs. Sie können die Zeitattributeinheiten explizit festlegen, es empfiehlt sich jedoch, keine Eingabe oder "#" weiterzugeben und die Einheiten vom Solver bestimmen zu lassen. Der Wert dieses Parameters wird überschrieben, wenn Travel_Mode auf einen anderen Wert als CUSTOM festgelegt wird. | String |
Distance_Attribute (optional) | Definiert das Netzwerkkostenattribut, das bei einem entfernungsbasierten Wert für Maßeinheiten verwendet werden soll. Wenn der Wert für Maßeinheiten von den Einheiten des hier definierten Kostenattributs abweicht, wird die erforderliche Umrechnung der Entfernungseinheiten vom Werkzeug durchgeführt. Anders ausgedrückt, die Maßeinheiten und die Entfernungseinheiten des Netzwerkkostenattributs müssen nicht identisch sein. Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als Benutzerdefiniert festgelegt wird. | String |
Distance_Attribute_Units (optional) | Die Einheiten des Entfernungsattributs. Sie können die Entfernungsattributeinheiten explizit festlegen, es empfiehlt sich jedoch, keine Eingabe oder "#" weiterzugeben und die Einheiten vom Solver bestimmen zu lassen. Der Wert dieses Parameters wird überschrieben, wenn Travel_Mode auf einen anderen Wert als CUSTOM festgelegt wird. | String |
Use_Hierarchy_in_Analysis (optional) | Geben Sie an, ob beim Suchen der kürzesten Routen zwischen Punkten die Hierarchie verwendet werden soll.
Der Parameter wird nicht verwendet, wenn ein Hierarchie-Attribut nicht für das Netzwerk-Dataset definiert ist, das zum Durchführen der Analyse verwendet wird. In solchen Fällen verwenden Sie "#" als Parameterwert. Sie können den Parameter Force_Hierarchy_Beyond_Distance verwenden, um die Verwendung der Hierarchie durch den Solver zu erzwingen, selbst wenn für Use_Hierarchy_in_Analysis False festgelegt ist. Dieser Parameter wird ignoriert, es sei denn, Travel_Mode ist auf CUSTOM festgelegt. Beim Modellieren eines benutzerdefinierten Fußgängermodus wird empfohlen, die Hierarchie auszuschalten, da sie für motorisierte Fahrzeuge vorgesehen ist. | Boolean |
Restrictions [restriction,...] (optional) | Gibt an, welche Netzwerkrestriktionsattribute bei der Berechnung beachtet werden. Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als "Benutzerdefiniert" festgelegt wird. | String |
Attribute_Parameter_Values (optional) | Gibt die Parameterwerte für die Netzwerkattribute an, die über Parameter verfügen. Über zwei der Spalten im Datensatz werden Parameter eindeutig identifiziert und über eine weitere Spalte wird der Parameterwert angegeben. Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als "Benutzerdefiniert" festgelegt wird. Der Datensatz für Attributparameterwerte weist verknüpfte Attribute auf. Die Felder in der Attributtabelle sind unten aufgelistet und beschrieben. ObjectID: Das vom System verwaltete ID-Feld. AttributeName: Der Name des Netzwerkattributs, dessen Attributparameter durch die Tabellenzeile festgelegt wird. ParameterName: Der Name des Attributparameters, dessen Wert durch die Tabellenzeile festgelegt wird. (Parameter des Typs "Objekt" können mit diesem Werkzeug nicht aktualisiert werden.) ParameterValue: Der Wert, den Sie für den Attributparameter festlegen möchten. Wenn kein Wert angegeben ist, wird der Attributparameterwert auf NULL festgelegt. | Record Set |
Accumulate_Attributes [attribute,...] (optional) | Liste der Kostenattribute, die während der Analyse akkumuliert werden sollen. Diese Akkumulationsattribute dienen ausschließlich zu Referenzzwecken. Der Solver verwendet nur das vom Parameter Zeitattribut (Time_Attribute in Python) oder Entfernungsattribut (Distance_Attribute in Python) angegebene Kostenattribut zum Berechnen der kürzesten Wege. Für jedes akkumulierte Kostenattribut wird den vom Solver ausgegebenen Routen das Feld "Total_[Attribut]" hinzugefügt. | String |
Maximum_Snap_Tolerance (optional) | Die maximale Fangtoleranz ist die weiteste Entfernung, in der Network Analyst bei der Positionierung oder Neupositionierung eines Punktes im Netzwerk sucht. Es wird nach geeigneten Kanten oder Knoten gesucht und der Punkt wird an der nächstgelegenen Kante bzw. am nächstgelegenen Knoten gefangen. Wenn keine geeignete Position innerhalb der maximale Fangtoleranz gefunden wird, wird das Objekt als nicht verortet gekennzeichnet. | Linear Unit |
Feature_Locator_WHERE_Clause (optional) | Ein SQL-Ausdruck zur Auswahl einer Teilmenge von Quell-Features, wodurch die Netzwerkelemente eingeschränkt werden, auf denen Stopps gesucht werden können. Die Syntax für diesen Parameter besteht aus zwei Teilen. Der erste Teil ist der Name der Quell-Feature-Class (gefolgt von einem Leerzeichen), der zweite Teil der SQL-Ausdruck. Um einen SQL-Ausdruck für zwei oder mehr Quell-Feature-Classes zu schreiben, verwenden Sie ein Semikolon als Trennzeichen. Beispiel: Wenn Sie sicherstellen möchten, dass Einrichtungen nicht auf eingeschränkt befahrbaren Straßen platziert werden, schreiben Sie einen SQL-Ausdruck wie den folgenden, um diese Quell-Features auszuschließen: "Streets" "FUNC_CLASS not in('1', '2')". Beachten Sie, dass Barrieren die WHERE-Klausel des Feature-Locators beim Laden ignorieren. | String |
Route_Shape (optional) | Geben Sie den Typ der Routen-Features an, die vom Werkzeug ausgegeben werden. Der Parameter kann mit einem der folgenden Werte angegeben werden:
Wenn für den Parameter Routen-Shape die Einstellung Echtes Shape festgelegt wurde, kann die Generalisierung des Routen-Shapes mit dem entsprechenden Wert für den Parameter Vereinfachungstoleranz für Routenlinienweiter gesteuert werden. Unabhängig von dem für den Parameter Routen-Shape gewählten Wert wird die optimale Route immer bestimmt, indem die Fahrzeit oder Fahrstrecke minimiert wird, nie durch die geradlinige Strecke zwischen Stopps. Dies bedeutet, dass sich nur die Routen-Shapes und nicht die zugrunde liegenden Straßen, die beim Ermitteln der Route berücksichtigt werden, unterscheiden. | String |
Route_Line_Simplification_Tolerance (optional) | Geben Sie an, wie stark Sie die Routengeometrie vereinfachen möchten. Dieser Parameter wird vom Werkzeug ignoriert, wenn für den Parameter Route_Shape nicht TRUE_LINES_WITH_MEASURES oder TRUE_LINES_WITHOUT_MEASURES festgelegt wurde. Bei der Vereinfachung werden kritische Punkte auf einer Route beibehalten, wie Übergänge an Kreuzungen, um das wesentliche Shape der Route zu definieren, und andere Punkte entfernt. Die angegebene Vereinfachungsentfernung stellt den maximal zulässigen Versatz dar, den die vereinfachte Linie von der ursprünglichen Linie abweichen kann. Durch die Vereinfachung einer Linie wird die Anzahl der Stützpunkte in der Routengeometrie reduziert. Dadurch wird die Ausführungszeit des Werkzeugs verbessert. Der Wert dieses Parameters wird überschrieben, wenn Reisemodus (Travel_Mode in Python) auf einen anderen Wert als "Benutzerdefiniert" festgelegt wird. | Linear Unit |
Populate_Route_Edges (optional) | Geben Sie an, ob vom Werkzeug Kanten für die einzelnen Routen generiert werden sollen. Routenkanten stellen die einzelnen Straßen-Features oder andere ähnliche Features dar, die von einer Route durchlaufen werden. Der Ausgabe-Layer "Routenkanten" wird häufig verwendet, um zu ermitteln, welche Straßen oder Wege von den resultierenden Routen am meisten oder wenigsten genutzt werden.
| Boolean |
Populate_Directions (optional) | Geben Sie an, ob vom Werkzeug Wegbeschreibungen für die einzelnen Routen generiert werden sollen.
| Boolean |
Directions_Language (optional) | Geben Sie an, in welcher Sprache Wegbeschreibungen generiert werden sollen. Dieser Parameter wird nur verwendet, wenn der Parameter Wegbeschreibungen füllen aktiviert oder auf True gesetzt wurde. Die verfügbaren Sprachen für Wegbeschreibungen hängen von den ArcGIS-Sprachpaketen ab, die Sie auf dem Computer installiert haben. Die Werte werden in Sprachcodes aus zwei oder fünf Zeichen eingegeben, z. B. en für Englisch oder zh-CN für vereinfachtes Chinesisch. Wenn ein nicht unterstützter Sprachcode angegeben wird, werden die Wegbeschreibungen in der Standardsprache Englisch ausgegeben. | String |
Directions_Distance_Units (optional) | Geben Sie die Einheiten für das Anzeigen der Fahrstrecke in den Wegbeschreibungen an. Dieser Parameter wird nur verwendet, wenn der Parameter Wegbeschreibungen füllen aktiviert oder auf True gesetzt wurde.
| String |
Directions_Style_Name (optional) | Geben Sie den Namen des Formatierungsstils für die Wegbeschreibung an. Dieser Parameter wird nur verwendet, wenn der Parameter Wegbeschreibungen füllen aktiviert oder auf True gesetzt wurde. Der Parameter kann mit den folgenden Werten angegeben werden:
| String |
Maximum_Features_Affected_by_Point_Barriers (optional) | Schränkt die Anzahl der Features ein, die von Punkt-Barrieren betroffen sind. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Sie können diesem Parameter z. B. für die kostenlose Version des Service, den Sie erstellen, einen niedrigen Wert zuweisen und für die kostenpflichtige Subskriptionsversion des Service einen höheren Wert verwenden. Ein NULL-Wert gibt an, dass kein Grenzwert vorhanden ist. | Long |
Maximum_Features_Affected_by_Line_Barriers (optional) | Schränkt die Anzahl der Features ein, die von Linien-Barrieren betroffen sind. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Sie können diesem Parameter z. B. für die kostenlose Version des Service, den Sie erstellen, einen niedrigen Wert zuweisen und für die kostenpflichtige Subskriptionsversion des Service einen höheren Wert verwenden. Ein NULL-Wert gibt an, dass kein Grenzwert vorhanden ist. | Long |
Maximum_Features_Affected_by_Polygon_Barriers (optional) | Schränkt die Anzahl der Features ein, die von Polygon-Barrieren betroffen sind. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Sie können diesem Parameter z. B. für die kostenlose Version des Service, den Sie erstellen, einen niedrigen Wert zuweisen und für die kostenpflichtige Subskriptionsversion des Service einen höheren Wert verwenden. Ein NULL-Wert gibt an, dass kein Grenzwert vorhanden ist. | Long |
Maximum_Stops (optional) | Schränkt die Anzahl der Stopps ein, die der Routenanalyse hinzugefügt werden können. Dieser Parameter steht in Verbindung mit dem Parameter Stopps. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Sie können diesem Parameter z. B. für die kostenlose Version des Service, den Sie erstellen, einen niedrigen Wert zuweisen und für die kostenpflichtige Subskriptionsversion des Service einen höheren Wert verwenden. Ein NULL-Wert gibt an, dass kein Grenzwert vorhanden ist. | Long |
Maximum_Stops_per_Route (optional) | Begrenzt die maximale Anzahl von Stopps, die in einer Analyse jeder Route zugewiesen werden können. Die Vorabzuweisung der Stopps zu Routen erfolgt mit dem Punktefeld RouteName im Parameter Stopps. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Sie können diesem Parameter z. B. für die kostenlose Version des Service, den Sie erstellen, einen niedrigen Wert zuweisen und für die kostenpflichtige Subskriptionsversion des Service einen höheren Wert verwenden. Ein NULL-Wert gibt an, dass kein Grenzwert vorhanden ist. | Long |
Force_Hierarchy_Beyond_Distance (optional) | Gibt die Entfernung an, nach der der Solver beim Suchen von Routen die Hierarchie auch dann erzwingt, wenn sie nicht aktiviert wurde. Die Einheiten dieses Parameters entsprechen denen im Parameter Entfernungsattributeinheiten. Die Suche von Routen zwischen Stopps, die weit entfernt liegen, bei Verwendung der Netzwerkhierarchie ist in der Regel weniger verarbeitungsintensiv als die Suche derselben Routen ohne Verwendung der Hierarchie. Mithilfe dieses Parameters können Sie den bei der Berechnung stattfindenden Verarbeitungsaufwand steuern. Ein NULL-Wert gibt an, dass die Hierarchie nie erzwungen und der Wert des Parameters Hierarchie bei Analyse verwenden immer berücksichtigt wird. Wenn das Eingabe-Netzwerk-Dataset keine Hierarchie unterstützt, führt die Angabe eines Wertes für diesen Parameter zu einem Fehler. In diesem Fall muss ein NULL-Wert verwendet werden. Dieser Parameter ist nur aktiviert, wenn das Netzwerk-Dataset ein Hierarchie-Attribut enthält. | Double |
Save_Output_Network_Analysis_Layer (optional) |
Es werden in jedem Fall Feature-Classes mit den Ergebnissen zurückgegeben. Ein Serveradministrator möchte jedoch evtl. auch einen Netzwerkanalyse-Layer ausgeben, um einen Debugging-Vorgang für die Einrichtung und Ergebnisse des Werkzeugs mit den Network Analyst-Steuerelementen in der ArcGIS Desktop-Umgebung durchzuführen. Dies kann den Debugging-Prozess deutlich vereinfachen. In ArcGIS Desktop befindet sich der Standardausgabespeicherort für den Netzwerkanalyse-Layer im Scratch-Ordner. Sie können den Speicherort des Scratch-Ordners festlegen, indem Sie den Wert der Geoverarbeitungsumgebung arcpy.env.scratchFolder auswerten. Der Ausgabe-Netzwerkanalyse-Layer wird als LYR-Datei gespeichert, deren Name mit _ags_gpna beginnt, gefolgt von einer alphanumerischen GUID. | Boolean |
Travel_Mode (optional) | Wählen Sie den Transportmodus für die Analyse aus. CUSTOM kann immer ausgewählt werden. Um andere Namen für Reisemodi anzuzeigen, müssen sie in dem Netzwerk-Dataset vorhanden sein, das im Parameter Network_Dataset angegeben wurde. (Die Funktion arcpy.na.GetTravelModes stellt ein Wörterbuch der Reisemodusobjekte bereit, die in einem Netzwerk-Dataset konfiguriert wurden, und die Eigenschaft name gibt den Namen eines Reisemodusobjekts zurück.) Ein Reisemodus wird in einem Netzwerk-Dataset definiert und stellt Override-Werte für Parameter bereit, die zusammen Reisemodi wie Auto, Lkw, Fußgänger und usw. modellieren. Wenn Sie hier einen Reisemodus auswählen, müssen Sie keine Werte für die folgenden Parameter angeben, die von Werten überschrieben werden, die im Netzwerk-Dataset angegeben wurden:
| String |
Time_Zone_for_Time_Windows (optional) | Gibt die Zeitzone für die Zeitfensterwerte für Stopps an. Die Zeitfenster werden als Teil der Felder TimeWindowStart und TimeWindowEnd festgelegt. Dieser Parameter kann nur angewendet werden, wenn der Parameter Zeitfenster verwenden aktiviert ist (oder auf True gesetzt wurde).
| String |
Overrides (optional) | Legen Sie zusätzliche Einstellungen fest, die das Verhalten des Solvers beim Suchen von Lösungen für die Netzwerkanalyseprobleme beeinflussen können. Der Wert dieses Parameters muss in JavaScript Object Notation (JSON) angegeben werden. Ein gültiger Wert hat beispielsweise das Format {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Der Name der Override-Einstellung wird immer in doppelten Anführungszeichen angegeben. Die Werte können eine Zahl, ein boolescher Wert oder eine Zeichenfolge sein. Der Standardwert für diesen Parameter ist kein Wert, was darauf hinweist, dass keine Solver-Einstellungen überschrieben werden. Overrides sind erweiterte Einstellungen, die nur nach sorgfältiger Analyse der abgerufenen Ergebnisse vor und nach Anwendung der Einstellungen verwendet werden sollten. Eine Liste der unterstützten Override-Einstellungen und ihrer akzeptierten Werte erhalten Sie beim technischen Support von Esri. | String |
Save_Route_Data (optional) | Legt fest, ob die Ausgabe eine ZIP-Datei mit einer File-Geodatabase enthalten soll, in der die Eingaben und Ausgaben der Analyse in einem Format vorliegen, das zum Freigeben von Routen-Layern mit ArcGIS Online oder Portal for ArcGIS verwendet werden kann. In ArcGIS Desktop befindet sich der Standardausgabespeicherort für diese Ausgabedatei im Scratch-Ordner. Sie können den Speicherort des Scratch-Ordners festlegen, indem Sie den Wert der Geoverarbeitungsumgebung arcpy.env.scratchFolder auswerten.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
Solve_Succeeded | Gibt an, ob der Service die Routen erfolgreich ermittelt hat. | Boolesch |
Output_Routes | Die resultierende Route bzw. die resultierenden Routen zwischen den Stopps. | Feature-Set |
Output_Route_Edges | Die einzelnen Straßensegmente, auf denen die Route verläuft. | Feature-Set |
Output_Directions | Detaillierte Wegbeschreibung für jede resultierende Route zwischen den Stopps. Der Parameter enthält die Wegbeschreibung und die Geometrie für das Feature "Wegbeschreibung", das dem Text entspricht. | Feature-Set |
Output_Stops | Die Attribute der Stopps, die in der Route aufgesucht werden, und der Stopps, die von keiner der Routen erreicht werden konnten. | Feature-Set |
Output_Network Analysis_Layer | Netzwerkanalyse-Layer mit in den Werkzeugparametern konfigurierten Eigenschaften, der für weitere Analysen oder zum Debuggen in der Karte verwendet werden kann. | Datei |
Output_Route_Data | Eine ZIP-Datei mit allen Informationen für eine bestimmte Route. | Datei |
Codebeispiel
FindRoutes – Beispiel 1 (Python-Fenster)
Ausführen des Werkzeugs mit den erforderlichen Parametern.
stops = arcpy.FeatureSet()
stops.load("Stops")
arcpy.na.FindRoutes(stops, "Miles", "Streets_ND", "in_memory", "Routes",
"RouteEdges", "Directions", "OutStops",
UTurn_Policy="NO_UTURNS")
FindRoutes – Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Python-Skript veranschaulicht, wie Sie das Werkzeug FindRoutes verwenden.
# Name: FindRoutes_Workflow.py
# Description: Find the fastest route visting all the stops. The output will
# show the route, driving directions, and how long it took to get
# to each stop.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\SanDiego.gdb'
env.overwriteOutput = True
#Set local variables
inNetworkDataset = r'Transportation\Streets_ND'
inStops = r'Analysis\Stops'
outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
outRoutes = "Routes"
outRouteEdges = "RouteEdges"
outDirections = "Directions"
outStops = "Stops"
measurement_units = "Minutes"
# Run FindRoutes. Reorder the stops to find the fastest route, but maintain
# the first stop as the starting point and the last stop as the end point.
arcpy.na.FindRoutes(inStops, measurement_units, inNetworkDataset,
outGeodatabase, outRoutes, outRouteEdges, outDirections,
outStops, Reorder_Stops_to_Find_Optimal_Routes=True,
Preserve_Terminal_Stops="PRESERVE_BOTH")
print "Script completed successfully"
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Network Analyst
- Standard: Erfordert Network Analyst
- Advanced: Erfordert Network Analyst