Als Routen-Layer freigeben (Network Analyst)

Zusammenfassung

Gibt die Ergebnisse der Netzwerkanalysen als Elemente des Routen-Layers in einem Portal frei. Ein Routen-Layer umfasst alle Informationen zu einer Route wie zum Beispiel die Stopps, die der Route zugewiesen sind, und die Wegbeschreibungen.

Ein Routen-Layer-Element kann in verschiedenen Anwendungen verwendet werden, z. B. in ArcGIS Navigator, um eine Routenführung für Außendienstmitarbeiter bereitzustellen, oder im Bereich Wegbeschreibung in Map Viewer Classic, wo die im Routen-Layer enthaltene Route weiter angepasst werden kann. Mit ArcGIS Pro können Sie einen Routenanalyse-Layer aus einem Routen-Layer erstellen.

Verwendung

  • Mit dem Werkzeug können Sie die Elemente des Routen-Layers in dem als aktives Portal gekennzeichneten Portal erstellen und freigeben. Das aktive Portal muss ArcGIS Online oder ArcGIS Enterprise 10.5.1 oder höher sein.

  • Der Benutzer, der am aktiven Portal angemeldet ist, muss über die erforderlichen Berechtigungen verfügen, um die räumliche Analyse auszuführen und Inhalte zu erstellen.

  • Wenn im angegebenen Ordner ein Routen-Layer-Element mit dem gleichen Namen vorhanden ist, wird ein neues Element mit demselben Namen erstellt. Eine Möglichkeit, das Erstellen doppelter Elemente zu vermeiden, besteht in der Verwendung eines eindeutigen Wertes als Präfix für den Routennamen, wenn Sie Routen-Layer mit diesem Werkzeug erstellen.

  • Wenn Sie dieses Werkzeug in einem Python-Skript verwenden, wird das aktive Portal, über das der letzte Zugriff auf ArcGIS Pro erfolgte, als Portal zum Erstellen der Routen-Layer verwendet.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Netzwerkanalyse-Layer oder Routendaten

Der Netzwerkanalyse-Layer oder eine .zip-Datei mit den Routendaten, aus denen die Elemente der Routen-Layer erstellt werden. Wenn die Eingabe ein Netzwerkanalyse-Layer ist, muss dieser bereits berechnet sein.

File; Network Analyst Layer
Zusammenfassung
(optional)

Die von den Routen-Layer-Elementen verwendete Zusammenfassung. Die Zusammenfassung wird als Teil der Elementinformationen für das Element des Routen-Layers angezeigt. Wenn kein Wert angegeben wird, wird der standardmäßige Zusammenfassungstext verwendet: Route und Wegbeschreibung für <Routenname>. Hierbei wird <Routenname> durch den Namen der im Routen-Layer dargestellten Route ersetzt.

String
Tags
(optional)

Die Tags, mit denen die Elemente der Routen-Layer beschrieben und gekennzeichnet werden. Einzelne Tags werden durch Kommas getrennt. Der Routenname wird immer als Tag eingeschlossen, selbst wenn kein Wert angegeben ist.

String
Präfix für den Routennamen
(optional)

Ein Kennzeichner, der dem Titel jedes Elements der Routen-Layer hinzugefügt wird. Beispielsweise kann ein Präfix "Monday morning deliveries" für einen Routennamen dazu verwendet werden, alle Elemente der Routen-Layer zu gruppieren, die aus einer Routenanalyse erstellt wurden, die wiederum mit Auslieferungen durchgeführt wurde, die am Montagmorgen erfolgen sollen. Wenn kein Wert angegeben wird, wird der Titel für das Element des Routen-Layers nur mit dem Routennamen erstellt.

String
Portalordnername
(optional)

Der Ordner im persönlichen Online-Workspace, in dem die Elemente der Routen-Layer erstellt werden. Wenn kein Ordner mit dem angegebenen Namen vorhanden ist, wird ein Ordner erstellt. Wenn ein Ordner mit dem angegebenen Namen vorhanden ist, werden die Elemente im vorhandenen Ordner erstellt. Wenn kein Wert angegeben wird, werden die Elemente der Routen-Layer im Stammverzeichnis des Online-Workspace erstellt.

String
Freigeben für
(optional)

Legt fest, wer auf die Elemente der Routen-Layer zugreifen darf.

  • AlleDie Elemente der Routen-Layer sind öffentlich. Jeder, der die URL zu den Elementen besitzt, kann darauf zugreifen.
  • Nicht freigegebenDie Elemente der Routen-Layer werden nur für den Besitzer des Elements (den Benutzer, der beim Ausführen des Werkzeugs mit dem Portal verbunden ist) freigegeben. Folglich kann auch nur der Besitzer des Elements auf die Routen-Layer zugreifen. Dies ist die Standardeinstellung.
  • Diese GruppenDie Elemente der Routen-Layer werden für die Gruppen freigegeben, zu denen der verbundene Benutzer gehört, sowie für die anderen Gruppenmitglieder. Die Gruppen werden über den Gruppenparameter festgelegt.
  • OrganisationDie Elemente der Routen-Layer werden für alle authentifizierten Benutzer im Unternehmen freigegeben.
String
Gruppen
(optional)

Die Liste der Gruppen, für die die Routen-Layer-Elemente freigegeben werden. Dieser Parameter ist nur gültig, wenn der Parameter Freigeben für auf Diese Gruppen festgelegt ist.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Elemente der Routen-Layer

In einem Portal freigegebene Routen-Layer-Elemente.

String

arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
NameErläuterungDatentyp
in_network_analysis_layer

Der Netzwerkanalyse-Layer oder eine .zip-Datei mit den Routendaten, aus denen die Elemente der Routen-Layer erstellt werden. Wenn die Eingabe ein Netzwerkanalyse-Layer ist, muss dieser bereits berechnet sein.

File; Network Analyst Layer
summary
(optional)

Die von den Routen-Layer-Elementen verwendete Zusammenfassung. Die Zusammenfassung wird als Teil der Elementinformationen für das Element des Routen-Layers angezeigt. Wenn kein Wert angegeben wird, wird der standardmäßige Zusammenfassungstext verwendet: Route und Wegbeschreibung für <Routenname>. Hierbei wird <Routenname> durch den Namen der im Routen-Layer dargestellten Route ersetzt.

String
tags
(optional)

Die Tags, mit denen die Elemente der Routen-Layer beschrieben und gekennzeichnet werden. Einzelne Tags werden durch Kommas getrennt. Der Routenname wird immer als Tag eingeschlossen, selbst wenn kein Wert angegeben ist.

String
route_name_prefix
(optional)

Ein Kennzeichner, der dem Titel jedes Elements der Routen-Layer hinzugefügt wird. Beispielsweise kann ein Präfix "Monday morning deliveries" für einen Routennamen dazu verwendet werden, alle Elemente der Routen-Layer zu gruppieren, die aus einer Routenanalyse erstellt wurden, die wiederum mit Auslieferungen durchgeführt wurde, die am Montagmorgen erfolgen sollen. Wenn kein Wert angegeben wird, wird der Titel für das Element des Routen-Layers nur mit dem Routennamen erstellt.

String
portal_folder_name
(optional)

Der Ordner im persönlichen Online-Workspace, in dem die Elemente der Routen-Layer erstellt werden. Wenn kein Ordner mit dem angegebenen Namen vorhanden ist, wird ein Ordner erstellt. Wenn ein Ordner mit dem angegebenen Namen vorhanden ist, werden die Elemente im vorhandenen Ordner erstellt. Wenn kein Wert angegeben wird, werden die Elemente der Routen-Layer im Stammverzeichnis des Online-Workspace erstellt.

String
share_with
(optional)

Legt fest, wer auf die Elemente der Routen-Layer zugreifen darf.

  • EVERYBODYDie Elemente der Routen-Layer sind öffentlich. Jeder, der die URL zu den Elementen besitzt, kann darauf zugreifen.
  • MYCONTENTDie Elemente der Routen-Layer werden nur für den Besitzer des Elements (den Benutzer, der beim Ausführen des Werkzeugs mit dem Portal verbunden ist) freigegeben. Folglich kann auch nur der Besitzer des Elements auf die Routen-Layer zugreifen. Dies ist die Standardeinstellung.
  • MYGROUPSDie Elemente der Routen-Layer werden für die Gruppen freigegeben, zu denen der verbundene Benutzer gehört, sowie für die anderen Gruppenmitglieder. Die Gruppen werden über den Gruppenparameter festgelegt.
  • MYORGANIZATIONDie Elemente der Routen-Layer werden für alle authentifizierten Benutzer im Unternehmen freigegeben.
String
groups
[groups,...]
(optional)

Die Liste der Gruppen, für die die Routen-Layer-Elemente freigegeben werden. Dieser Parameter findet nur Anwendung, wenn der share_with-Parameter auf MYGROUPS festgelegt ist.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
route_layer_items

In einem Portal freigegebene Routen-Layer-Elemente.

String

Codebeispiel

ShareAsRouteLayers: Beispiel (Python-Fenster)

Im folgenden Beispiel wird gezeigt, wie Sie eine berechnete Routenanalyse nur mit den erforderlichen Parametern als Routen-Layer auf dem aktiven Portal freigeben können.

arcpy.na.ShareAsRouteLayers('Route')
ShareAsRouteLayers: Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird gezeigt, wie Sie eine berechnete Routenanalyse unter Angabe einer Zusammenfassung und von Tags für das Element der Routen-Layer als Routen-Layer freigeben können. Der Elementname des Routen-Layers beginnt mit dem Präfix Wednesday Route for Food Inspection. Der Routen-Layer wird im Ordner "RouteLayers" im aktiven Portal erstellt und für eine Gruppe mit der Bezeichnung "Fahrer" im Portal freigegeben.

arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers', 
                            'Food inspection', 'Wednesday Route for Food Inspection', 
                            'RouteLayers', 'MYGROUPS', 'Drivers')
ShareAsRouteLayers: Beispiel 3 (eigenständiges Skript)

Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie ein berechneter Netzwerkanalyse-Layer für nächstgelegene Einrichtungen mit dem Werkzeug ShareAsRouteLayers im aktiven Portal freigegeben werden kann.

# Name: ShareAsRouteLayers_Workflow.py
# Description: Find the closest warehouse from the store locations and share the
#              results as route layers.
# Requirements: Network Analyst Extension

# Import system modules
import arcpy
from arcpy import env
import os


try:
    # Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")

    # Check if logged into active Portal. Fail if not logged into actiave portal.
    if arcpy.GetSigininToken() is None:
        raise arcpy.ExecuteError("Please sign in to your active portal in ArcGIS Pro.")
    
    # Set environment settings
    output_dir = "C:/Data"
    # The NA layer's data will be saved to the workspace specified here
    env.workspace = os.path.join(output_dir, "Output.gdb")
    env.overwriteOutput = True

    # Set local variables
    input_gdb = "C:/Data/Paris.gdb"
    network = os.path.join(input_gdb, "Transportation", "ParisMultimodal_ND")
    layer_name = "ClosestWarehouse"
    travel_mode = "Driving Time"
    facilities = os.path.join(input_gdb, "Analysis", "Warehouses")
    incidents = os.path.join(input_gdb, "Analysis", "Stores")

    # Create a new closest facility analysis layer. 
    result_object = arcpy.na.MakeClosestFacilityAnalysisLayer(network,
                                    layer_name, travel_mode, "TO_FACILITIES",
                                    number_of_facilities_to_find=1)

    # Get the layer object from the result object. The closest facility layer can
    # now be referenced using the layer object.
    layer_object = result_object.getOutput(0)

    # Get the names of all the sublayers within the closest facility layer.
    sublayer_names = arcpy.na.GetNAClassNames(layer_object)
    # Stores the layer names that we will use later
    facilities_layer_name = sublayer_names["Facilities"]
    incidents_layer_name = sublayer_names["Incidents"]

    # Load the warehouses as Facilities using the default field mappings and
    # search tolerance
    arcpy.na.AddLocations(layer_object, facilities_layer_name,
                            facilities, "", "")

    # Load the stores as Incidents. Map the Name property from the NOM field
    # using field mappings
    field_mappings = arcpy.na.NAClassFieldMappings(layer_object,
                                                    incidents_layer_name)
    field_mappings["Name"].mappedFieldName = "NOM"
    arcpy.na.AddLocations(layer_object, incidents_layer_name, incidents,
                          field_mappings, "")

    # Solve the closest facility layer
    arcpy.na.Solve(layer_object)

    # Share the routes from the closest facility analysis as route layers
    arcpy.na.ShareAsRouteLayers(layer_object, "Share closest facility solve result as route layers")

    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 occurred on line %i" % tb.tb_lineno)
    print(str(e))

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen