Beispiel für Geoverarbeitungsservice: Wegbeschreibungen abrufen

Mit der Network Analyst-Lizenz verfügbar.

ElementBeschreibung

Zweck

Erstellt eine Wegbeschreibung zwischen Eingabepunkten für einen gegebenen Reisemodus. In diesem Beispiel wird beschrieben, wie Sie einen Geoverarbeitungsservice für die Durchführung von Netzwerkanalysen erstellen, veröffentlichen und verwenden können.

Service

TravelDirections (Geoverarbeitungsservice)

Web-Werkzeug

GetTravelDirections

Eingaben

  • Mindestens zwei digitalisierte Punkte, die Stopps darstellen (erforderlich)
  • Ein Reisemodus für die Berechnung der Wegbeschreibung (erforderlich)
  • Einen Datums-/Uhrzeitwert, der die Startzeit für die Route angibt (optional)

Ausgaben

Eine Feature-Class mit der Wegbeschreibung und dem Shape für die Route

Daten

Ein Straßennetz-Dataset für den Bereich San Diego, Kalifornien, das im Ordner ToolData bereitgestellt wird

Minimale ArcGIS-Softwareanforderungen

  • ArcGIS Pro 3.1 oder höher mit der Erweiterung "Network Analyst"
  • ArcGIS Server 10.8.0 oder höher mit der Erweiterung "Network Analyst"

Hinweis

Demonstriert die grundlegenden Schritte für die Erstellung, Veröffentlichung und Verwendung eines Web-Werkzeugs, mit dem basierend auf einem Reisemodus eine Wegbeschreibung erstellt werden kann. Mit ähnlichen Schritten können Sie ein Web-Werkzeug zur Durchführung anderer Analysen für Verkehrsnetzwerke erstellen, z. B. für die Erstellung von Fahrzeitgebieten um eine Gruppe von Einrichtungen.

Beispieldetails

Das Werkzeug "GetTravelDirections"

Der Hauptzweck des Werkzeugs GetTravelDirections ist die Erstellung von Wegbeschreibungen um die vom Benutzer angegebenen Punkte basierend auf einem gegebenen Reisemodus. Das Werkzeug erstellt eine Ausgabelinien-Feature-Class, die die beste Route zwischen den Eingabepunkten zeigt. Außerdem enthält sie Text mit einer Wegbeschreibung zur Navigation auf der Route.

Die folgende Tabelle zeigt einige der Spalten aus der Ausgabe-Feature-Class, die mit dem Werkzeug GetTravelDirections erstellt wurde. Die Werte in der Spalte "ElapsedTime" weisen die Einheiten des Zeitimpedanzattributs auf, das in dem für die Analyse verwendeten Reisemodus definiert wurde (in diesem Beispiel sind dies Minuten), und die Werte in der Spalte "DriveDistance" weisen die Einheiten des in dem Reisemodus definierten Entfernungsimpedanzattribut auf (in diesem Beispiel also Meilen).

Ausgewählte Spalten aus der Ausgabe des Werkzeugs "GetTravelDirections"

TextElapsedTimeDriveDistance

Start bei Stopp A

0

0

Nach Norden auf BRITANNIA BLVD in Richtung OTAY MESA RD

1,04

0,64

Auf OTAY MESA RD rechts abbiegen

1,83

2,44

Weiter geradeaus auf CA-905

0,29

0,39

Weiter geradeaus auf OTAY MESA RD

0,04

0,06

An der Gabelung links auf OTAY MESA RD halten

0,16

0,1

Links abbiegen

0,04

0,02

Weiter geradeaus auf CA-125

7,17

10,41

Ziel bei Stopp B, auf der rechten Seite

0

0

Datenorder

Die Daten für dieses Lernprogramm können von ArcGIS Online heruntergeladen werden. Extrahieren Sie die Daten unter C:\Routing\TravelDirections. Der Ordner enthält ein ArcGIS Pro-Projekt namens TravelDirections.aprx. Die Toolbox TravelDirections.tbx in diesem Projekt enthält das Werkzeug GetTravelDirections, das die Wegbeschreibung erstellt. Ein Verkehrsnetz namens Streets_ND, das von dem Werkzeug GetTravelDirections verwendet wird, befindet sich in der File-Geodatabase SanDiego.gdb im Ordner ToolData. Das Netzwerk-Dataset wird als Layer namens Street Network der Standardkarte des Projekts hinzugefügt. Die Geodatabase schema.gdb enthält die Feature-Class Stops, die von der Layer-Datei Stops.lyrx referenziert wird. Mit dieser Layer-Datei werden das Schema und die Symbolisierung für die vom Werkzeug GetTravelDirections verwendeten Eingabe-Stopps definiert.

Erstellen eines Geoverarbeitungswerkzeugs

Das Geoverarbeitungswerkzeug GetTravelDirections ist ein Beispiel für ein Skriptwerkzeug, das zur Bereitstellung einer bestimmten Funktion (in diesem Fall die Erstellung von Wegbeschreibungen) verwendet wird. Bei Ausführung des Werkzeugs wird der Python-Code ausgeführt, den Sie in eine Datei schreiben und mit dem Skriptwerkzeug verknüpfen. In diesem Beispiel wird der Python-Code für das Werkzeug GetTravelDirections in die Datei get_directions.py geschrieben. Die Eingaben und Ausgaben für das Skriptwerkzeug, auch als Werkzeugparameter bezeichnet, werden im Dialogfeld Neues Skript in ArcGIS Pro definiert.

Definieren von Werkzeugparametern

Die folgende Abbildung zeigt die verschiedenen Parameter, die für das Werkzeug GetTravelDirections definiert wurden:

Parameter für das Werkzeug "GetTravelDirections"
Die Parameter für das Werkzeug "GetTravelDirections" werden angezeigt.

Das Werkzeug verwendet den Datentyp Feature Set für den Parameter stops. Dies ermöglicht die interaktive Angabe der Eingabe-Stopps. Das Schema und die Symbolisierung für das Feature-Set werden über die Datei Stops.lyrx im Ordner "ToolData" definiert. Auf diese Weise können Sie die Einschränkung erzwingen, dass die Eingabe-Stopps nur mittels einer Punktgeometrie angegeben werden dürfen, und Sie können den Satz von Attributfeldern vordefinieren, den die Eingabe unterstützt. Wenn Sie das Schema nicht definieren, können die Benutzer Ihres Service einen beliebigen Geometrietyp für das Feature-Set angeben.

Hinweis:

Die Angabe des Schemas für ein Feature-Set hindert Benutzer Ihres Service nicht daran, nicht unterstützte Felder zu übergeben. In der Implementierung Ihres Werkzeugs können Sie alle Eingabefelder auflisten, die für den Service bereitgestellt werden. Außerdem können Sie entscheiden, wie das Werkzeug mit Feldern, die nicht im Schema definiert sind, umgehen soll. In den meisten Fällen können Sie die nicht im Schema definierten Felder ignorieren.

Das Werkzeug verwendet den Datentyp Network Dataset Layer für den Parameter network_dataset. Dadurch haben Sie die Möglichkeit, ein Netzwerk-Dataset mithilfe eines Netzwerk-Dataset-Layers aus der Karte anzugeben. Andere gültige Datentypen für die Angabe eines Netzwerk-Datasets sind Network Dataset und Network Data Source. Mit dem Datentyp Network Data Source können Sie ein Netzwerk-Dataset auf einer Festplatte, einen Netzwerk-Dataset-Layer aus einer Karte oder eine URL zu einem ArcGIS Online- oder ArcGIS Enterprise-Portal, für das Routing-Services konfiguriert wurden, angeben. In diesem Beispiel sollten Sie den Datentyp Network Data Source nicht auswählen, da Sie die Analyse nicht mithilfe von Routing-Services aus einem Portal durchführen möchten. Mit dem Datentyp Network Dataset können Sie ein Netzwerk-Dataset nur mithilfe des Pfads zu dessen Speicherort auf der Festplatte angeben. Das Werkzeug GetTravelDirections kann zwar ein Netzwerk-Dataset verwenden, das mithilfe seines Pfads angegeben wurde, aber dies wird nicht empfohlen, da das Werkzeug bei jeder Anforderung eine Verbindung mit dem Netzwerk-Dataset herstellt. Dieser Vorgang nimmt mehr Zeit in Anspruch und erhöht die Antwortzeit der Anforderung.

Tipp:

Die Verwendung eines Netzwerk-Dataset-Layers verringert die Gesamtausführungszeit des Werkzeugs, da der Netzwerk-Dataset-Layer die Verbindung zum Netzwerk-Dataset offen hält. Wird das Netzwerk-Dataset hingegen vom Pfad zu seinem Speicherort auf der Festplatte referenziert, wird bei jeder Ausführung des Werkzeugs eine Verbindung mit dem Netzwerk-Dataset hergestellt, was sich negativ auf die Performance des mit dem Werkzeug erstellten Geoverarbeitungsservice auswirkt.

Das Werkzeug verwendet den Datentyp Network Travel Mode für den Parameter travel_mode. Der Parameter network_dataset wird als Abhängigkeit für den Parameter network_travel_mode festgelegt. Dies bewirkt, dass das Werkzeug die in dem Netzwerk-Dataset definierten Reisemodi liest und die Liste möglicher Werte, die von dem Parameter travel_mode unterstützt werden, mit deren Namen auffüllt.

Das Werkzeug verwendet den Datentyp Date für den Parameter start_time. Dieser Parameter ist optional und definiert keinen Standardwert. Wird in der Implementierung des Werkzeugs ein Wert für den Parameter start_time übergeben, wird dieser zur Berechnung der Reisezeit verwendet. Die dazu verwendeten Reisegeschwindigkeiten basieren auf historischen Verkehrsmustern, die für diesen Datums-/Uhrzeitwert beobachtet wurden. Wenn für den Parameter start_time kein Wert übergeben wird, berechnet das Werkzeug die Reisezeit auf der Grundlage einer festgelegten Reisegeschwindigkeit.

Das Werkzeug verwendet den Datentyp Feature Class für den Parameter output_directions. Der Parameter wird durch Festlegen der Eigenschaft Direction als Ausgabeparameter gekennzeichnet. Der Standardwert für diesen Parameter gibt an, dass die Ausgabe in eine Feature-Class in einem speicherbasierten Workspace geschrieben wird.

Tipp:

Indem die Ausgaben nicht in eine File-Geodatabase, sondern in einen speicherbasierten Workspace geschrieben werden, wird die Performance des mit dem Skriptwerkzeug erstellten Geoverarbeitungsservice verbessert. In den meisten Fällen empfiehlt es sich, die Ausgaben der Geoverarbeitungswerkzeuge, die für die Durchführung von Netzwerkanalysen verwendet werden, in einen speicherbasierten Workspace zu schreiben. Sie sollten die Ausgaben in eine File-Geodatabase schreiben, wenn bekannt ist, dass das Werkzeug große Ausgaben erzeugt, für die der Speicher des Servercomputers, auf dem der Geoverarbeitungsservice ausgeführt wird, nicht ausreicht.

Dokumentieren des Werkzeugs

Durch das Dokumentieren des Geoverarbeitungswerkzeugs dokumentieren Sie auch den resultierenden Service und seine Parameter, da der Text während der Veröffentlichung des Service in die Elementbeschreibung des Service kopiert wird. Die Beschreibung oder Dokumentation des Service ist erforderlich und unterstützt Benutzer bei der Interaktion mit dem Service und der Erstellung von Wegbeschreibungen. Das in diesem Beispiel verwendete Werkzeug GetTravelDirections ist dokumentiert; Sie können es prüfen, indem Sie im Bereich Katalog mit der rechten Maustaste auf das Geoverarbeitungswerkzeug klicken und Metadaten anzeigen auswählen.

Definieren der Werkzeugausführung

Wird eine Anforderung an einen Geoverarbeitungsservice gesendet, führt das dem Service zugrundeliegende Werkzeug eine Python-Skriptdatei aus, die mit dem Werkzeug verknüpft ist. In dieser Skriptdatei definieren Sie die Implementierung Ihres Werkzeugs. Der folgende Codeausschnitt zeigt den Python-Code, der die Implementierung des Werkzeugs GetTravelDirections definiert. Das Skript verwendet die Klasse Route im Modul arcpy.nax, um das Punkt-zu-Punkt-Routing durchzuführen und Wegbeschreibungen zu erstellen.

Python-Code für die Implementierung des Werkzeugs "GetTravelDirections"

Der folgende Codeausschnitt umfasst den Inhalt der Datei get_directions.py, die im Werkzeugordner enthalten ist. Er zeigt, wie das Punkt-zu-Punkt-Routing durchgeführt wird und Wegbeschreibungen in eine Feature-Class exportiert werden. Das allgemeine Muster bei der Durchführung jeder Art von Netzwerkanalyse (einschließlich des hier gezeigten Punkt-zu-Punkt-Routings) besteht darin, die für die Analyse spezifische Solver-Klasse zu initialisieren, die Analyseeinstellungen festzulegen, die Eingaben zu laden, die Analyse zu berechnen und die Ergebnisse zu exportieren. Die Kommentare im Quellcode (die Zeilen, die mit # beginnen) enthalten weitere Informationen zur Implementierung, einschließlich einiger Tipps zur Optimierung der Performance des Werkzeugs.

"""Generate travel directions based on a travel mode."""
import arcpy
def get_directions():
    """Generate travel directions based on a travel mode."""
    # Read inputs
    stops = arcpy.GetParameter(0)
    # Performance tip: The network data source should be read using the arcpy.GetParameterAsText()
    # method instead of the arcpy.GetParameter() method since GetParameterAsText provides
    # access to the network data source much faster
    network_data_source = arcpy.GetParameterAsText(1)
    travel_mode = arcpy.GetParameter(2)
    start_time = arcpy.GetParameter(3)
    output_directions = arcpy.GetParameterAsText(4)
    # Initialize Route solver and set analysis settings
    route_solver = arcpy.nax.Route(network_data_source)
    route_solver.travelMode = travel_mode
    route_solver.timeOfDay = start_time
    route_solver.returnDirections = True
    # Load inputs
    route_solver.load(arcpy.nax.RouteInputDataType.Stops, stops)
    # Solve. A network analyst license is required when solving
    arcpy.CheckOutExtension("network")
    result = route_solver.solve()
    # Print all the warning and error messages in case the solve is not successful
    if not result.solveSucceeded:
        arcpy.AddMessage("Solve failed")
        warning_msgs = result.solverMessages(arcpy.nax.MessageSeverity.Warning)
        error_msgs = result.solverMessages(arcpy.nax.MessageSeverity.Error)
        for msg in warning_msgs:
            arcpy.AddWarning(msg[-1])
        for msg in error_msgs:
            arcpy.AddError(msg[-1])
        raise SystemExit(1)
    # Export the directions
    result.export(arcpy.nax.RouteOutputDataType.Directions, output_directions)
if __name__ == "__main__":
    get_directions()
Hinweis:

Der obige Codeausschnitt zeigt, wie das Punkt-zu-Punkt-Routing mithilfe des Moduls "arcpy.nax" implementiert werden kann. Das in dem obigen Codeausschnitt gezeigte Muster kann jedoch unter Verwendung des Moduls "arcpy.nax" auch auf jede andere Analyse angewendet werden.

Veröffentlichen des Werkzeugs als Web-Werkzeug

Um einen Service mit dem Werkzeug GetTravelDirections zu erstellen, müssen Sie das Werkzeug als Web-Werkzeug veröffentlichen. Hierzu müssen Sie das Werkzeug erfolgreich ausführen, bevor Sie das Werkzeugergebnis im Bereich Als Web-Werkzeug freigeben von ArcGIS Pro als Web-Werkzeug freigeben.

Ausführen des Werkzeugs

Zum Ausführen des Werkzeugs GetTravelDirections führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Projekt "TravelDirections" in ArcGIS Pro.
  2. Öffnen Sie in der Toolbox "TravelDirections" das Geoverarbeitungswerkzeug GetTravelDirections.
  3. Führen Sie das Werkzeug GetTravelDirections aus.
    1. Erstellen Sie für den Parameter Stopps mindestens zwei Stopps für das Gebiet San Diego auf der Karte.
    2. Wählen Sie für den Parameter Netzwerk-Dataset den der Karte hinzugefügten Straßennetz-Layer aus.

      Die beste Performance für den mit dem Werkzeug erstellten Geoverarbeitungsservice erhalten Sie, indem Sie den Straßennetz-Layer angeben, nicht jedoch das Netzwerk-Dataset mithilfe seines Speicherorts auf der Festplatte.

    3. Wählen Sie für den Parameter Reisemodus einen Reisemodus aus der Auswahlliste aus, z. B. Fahrzeit.

      Die Auswahlliste für den Parameter Reisemodus listet die Namen der Reisemodi aus dem Netzwerk-Dataset auf, da der Parameter Netzwerk-Dataset als Abhängigkeit für den Parameter Reisemodus definiert wurde.

    4. Geben Sie für den Parameter Startzeit keinen Wert an.

      Die Angabe eines Wertes für den Parameter Startzeit bewirkt, dass der von dem Werkzeug erstellte Service diesen Datums-/Uhrzeitwert bei der Erstellung der Wegbeschreibungen als Standardstartzeit verwendet; dies ist möglicherweise nicht wünschenswert, da die Benutzer des Service wahrscheinlich einen Datums-/Uhrzeitwert übergeben möchten.

    5. Übernehmen Sie für den Parameter Ausgabe-Wegbeschreibungen den Standardwert.

      Der Standardwert für den Parameter Ausgabe-Wegbeschreibungen gibt an, dass die Ausgabe des Werkzeugs in einen speicherbasierten Workspace geschrieben wird, um die Performance des mit dem Werkzeug erstellten Service zu verbessern.

    6. Klicken Sie auf die Schaltfläche Ausführen, um das Werkzeug auszuführen.

Registrieren des Ordners mit dem Netzwerk-Dataset als Data Store

Alle Computer Ihrer ArcGIS Server-Site müssen auf das von dem Werkzeug GetTravelDirections verwendete Netzwerk-Dataset zugreifen können. Hierzu gibt es folgende Möglichkeiten:

  • Lassen Sie zu, dass das Netzwerk-Dataset bei der Veröffentlichung an einen Speicherort in Ihrer ArcGIS Server-Site kopiert wird, auf den alle beteiligten Computer zugreifen können.
  • Kopieren Sie das Netzwerk-Dataset auf allen beteiligten Computern an einen vordefinierten Speicherort, und lassen Sie zu, dass der Service auf die Daten an diesem Speicherort verweist.

Die empfohlene Option ist, das Netzwerk-Dataset auf allen beteiligten Computern an einen vordefinierten Speicherort (z. B. D:\RoutingData) zu kopieren. Dies ist zwar die aufwändigere der beiden verfügbaren Optionen, aber sie ist effektiver und sorgt für eine bessere Performance des Service.

Wählen Sie auf allen beteiligten Computern einen lokalen Speicherort für die Daten aus, keine Dateifreigabe für alle Computer. Das Speichern des Netzwerk-Datasets in einem lokalen Ordner anstelle einer Dateifreigabe erhöht die Performance des Routing-Service. Um das Netzwerk-Dataset zu aktualisieren, wenn Sie beispielsweise eine neuere Version der Daten erhalten, können Sie den Routing-Service beenden, die File-Geodatabase mit dem Netzwerk-Dataset auf allen beteiligten Computern ersetzen und den Service neu starten.

Wenn Sie die Option zum Kopieren der Daten auswählen, werden die Daten während der Veröffentlichung an einen freigegebenen Speicherort kopiert, auf den alle Computer zugreifen können (sofern Ihre ArcGIS Server-Site mehrere Computer umfasst). Der Routing-Service liest das Netzwerk-Dataset an einem freigegebenen Speicherort, was die Performance des Service beeinträchtigen kann. Der von ArcGIS Server verwendete Speicherort gilt als ArcGIS Server-Site-intern und wird von ArcGIS Server verwaltet. Um Datenaktualisierungen durchzuführen, müssen Sie den Routing-Service löschen und neu erstellen. Da Sie beim erneuten Veröffentlichen des Routing-Service jedoch die zuvor verwendeten Einstellungen verwenden müssen, können dabei Fehler auftreten. Wenn der Routing-Service auf die Daten verweist, sollten Sie den Service daher beenden und neu starten, anstatt ihn neu zu erstellen.

Um den Ordner mit dem Netzwerk-Dataset als Data Store auf dem Server zu registrieren, der mit Ihrem Portal verbunden ist, führen Sie die folgenden Schritte aus:

  1. Klicken Sie auf dem Menüband auf die Registerkarte Freigeben. Klicken Sie in der Gruppe Verwalten auf Datenspeicher Data Stores.

    Der Bereich Registrierte Datenspeicher verwalten wird angezeigt.

  2. Überprüfen Sie oben im Bereich, ob die Dropdown-Liste auf Portal-Elemente festgelegt ist. Klicken Sie auf die Schaltfläche Hinzufügen Ein Data-Store-Element zum Portal hinzufügen, und klicken Sie auf Ordner Ordner.
  3. Geben Sie im Dialogfeld Datenspeicher hinzufügen einen Titel, z. B. RoutingData, und Tags an.

    Dies sind erforderliche Metadaten für das Data-Store-Portal-Element.

  4. Geben Sie optional einen Ordner an, der das Data-Store-Element in Ihrem Portal enthalten soll.

    Standardmäßig wird das Element auf der Stammverzeichnisebene Ihres Inhalts gespeichert. Sie können über das Dropdown-Menü einen vorhandenen Ordner auswählen oder einen neuen erstellen. Sie können auch zu einem Ordner navigieren.

  5. Um den Publisher-Ordner anzugeben, klicken Sie auf die Schaltfläche Durchsuchen Durchsuchen, navigieren Sie zu dem Ordner C:\Routing\TravelDirections\ToolData mit dem Netzwerk-Dataset, und klicken Sie auf OK.

    Der Publisher-Ordner ist der Ordner mit den Daten, die Sie beim Server registrieren möchten.

  6. Wenn der Publisher und der Server unterschiedliche Ordner für die Daten verwenden, deaktivieren Sie das Kontrollkästchen Der gleiche wie der Publisher-Ordnerpfad, und geben Sie den Pfad eines Ordners ein, auf den der Server zugreifen kann, bzw. navigieren Sie dorthin.
  7. Klicken Sie auf das Kontrollkästchen für den Server, zu dem Sie den Data Store hinzufügen möchten. Sie können mehr als einen Server auswählen.
  8. Klicken Sie optional auf Überprüfen Überprüfen, um sicherzustellen, dass der Server auf den Serverordner zugreifen kann.

    Wenn dies möglich ist, wird eine Bestätigung Gültig in der Spalte Status neben dem Servernamen angezeigt. Andernfalls wird ein Fehler Auf das Datenelement kann nicht zugegriffen werden angezeigt. Die Verbindung wird auch automatisch überprüft, wenn Sie den Data Store erstellen.

  9. Legen Sie unter Freigeben für fest, wie die Freigabe des Data Store erfolgen soll:
    • Alle: Mit dieser Option wird Ihr Data Store veröffentlicht. Jeder kann darauf zugreifen.
    • Eigene Organisation: Mit dieser Option wird Ihr Data Store für alle authentifizierten Benutzer in Ihrer Organisation freigegeben.
    • Gruppen: Mit dieser Option können Sie Ihren Data Store für Gruppen, denen Sie angehören, sowie für deren Mitglieder freigeben.
  10. Klicken Sie auf Erstellen.

    Der Data Store wird erstellt und im Bereich Registrierte Data Stores verwalten angezeigt.

Freigeben des Werkzeugs als Web-Werkzeug

Wenn Sie einen Geoverarbeitungsservice mit dem Werkzeug GetTravelDirections erstellen möchten, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich als Benutzer mit der Berechtigung zum Veröffentlichen von Web-Werkzeugen bei Ihrem ArcGIS Enterprise-Portal an.

    Für die Freigabe von Web-Werkzeugen sind Berechtigungen als Administrator oder zum Veröffentlichen von Web-Werkzeugen erforderlich.

  2. Klicken Sie auf der Registerkarte des Menübands Analyse in der Gruppe Geoverarbeitung auf die Schaltfläche Verlauf, um den Bereich Verlauf zu öffnen.
  3. Klicken Sie mit der rechten Maustaste auf GetTravelDirections, und wählen Sie Freigeben als > Web-Werkzeug aus.
  4. Konfigurieren Sie im Bereich Als Web-Werkzeug freigeben die Service-Einstellungen, z. B. den Service-Namen und den Ausführungsmodus.
    1. Geben Sie unter Element-Details im Feld Name den Text TravelDirections ein.
    2. Wählen Sie unter Daten die Option Registrierte Daten referenzieren aus.
    3. Unter Speicherort können Sie einen Portal-Ordner angeben bzw. erstellen, um das Web-Werkzeugelement in Ihrem ArcGIS Enterprise-Portal zu speichern.

      Wenn Sie keinen Wert für Portal-Ordner angeben, wird das Web-Werkzeugelement auf der Stammverzeichnisebene Ihres Inhalts gespeichert.

    4. Unter Speicherort können Sie den Verbundserver, auf dem Sie das Web-Werkzeug speichern möchten, und den Ordner auf dem Verbundserver, der den Routing-Service enthalten soll, auswählen.

      Wenn Sie eine Basisbereitstellung von ArcGIS Enterprise verwenden, enthält die Liste Server und Ordner nur einen Server (den Hosting-Server). Falls Sie unter Server und Ordner keinen Ordnernamen angeben, wird der Routing-Service im Stammordner Ihres Verbundservers erstellt.

    5. Legen Sie unter Freigeben für fest, wie die Freigabe des Web-Werkzeugs erfolgen soll:

      Standardmäßig ist ein Web-Werkzeug nur für die Person zugänglich, die es veröffentlicht hat. Sie können das Web-Werkzeug öffentlich freigeben, sodass alle Benutzer das Web-Werkzeug ausführen können, für alle authentifizierten Benutzer in der Organisation oder für bestimmte Gruppen, denen Sie angehören, sowie deren Mitglieder.

    6. Klicken Sie auf die Registerkarte Konfiguration im Bereich Als Web-Werkzeug freigeben.
    7. Deaktivieren Sie unter Funktionen das Kontrollkästchen Uploads.

      Die Uploads-Funktion steuert, ob ein Client eine Datei auf Ihren Server hochladen kann, die als Eingabe für das Web-Werkzeug verwendet werden kann. Es ist nicht erforderlich, dass der Routing-Service in diesem Beispiel Datei-Uploads unterstützt.

    8. Wählen Sie unter Ausführungsmodus die Option Synchron aus.

      Die Ausführung des Routing-Service TravelDirections erfolgt schnell (üblicherweise in weniger als einer Sekunde). Die beste Performance erzielen Sie, indem Sie den Ausführungsmodus Synchron auswählen. Wenn die Ausführung Ihres Routing-Service jedoch sehr lange dauert (z. B. bei der Berechnung mehrerer langer Zweipunktstrecken), stellen Sie den Ausführungsmodus auf Asynchron ein, da der asynchrone Ausführungsmodus für Anforderungen mit langer Ausführungsdauer besser geeignet ist. Die Verwendung des asynchronen Ausführungsmodus für Services, die schnell ausgeführt werden, wird nicht empfohlen, da dies bei jeder Ausführung des Service einen Zusatzaufwand bedeutet. Bei Anforderungen mit langer Ausführungsdauer ist dieser Zusatzaufwand unerheblich, da er sich nur geringfügig auf die Gesamtausführungszeit des Service auswirkt.

    9. Wählen Sie unter Eigenschaften für Meldungsebene die Option Warnung aus.

      Indem Sie Warnung als Meldungsebene für den Service festlegen, stellen Sie sicher, dass alle Fehler- und Warnmeldungen, die der Service erzeugt, an den Client zurückgegeben werden. Dies kann bei der Diagnose von Serviceproblemen auf dem Client hilfreich sein, wenn der Service z. B. keine Wegbeschreibungen erstellen kann.

    10. Verwenden Sie unter Eigenschaften den Standardwert für Maximale Anzahl der vom Server zurückgegebenen Datensätze.

      In diesem Beispiel sollte der Service in den meisten Fällen nicht mehr als 1.000 Ausgabe-Wegbeschreibungs-Features erzeugen. Erzeugt der Service mehr als 1.000 Features, gibt der Server nur die ersten 1.000 Features an die Clients zurück, und ein Subset der Features ist für die Clients möglicherweise nicht hilfreich. Um dies zu vermeiden, können Sie den Wert für die Option Maximale Anzahl der vom Server zurückgegebenen Datensätze erhöhen. Für andere Routing-Services können Sie einen höheren Wert für diese Option festlegen. Beispielsweise kann ein Service, der regelmäßig eine Start-Ziel-Kostenmatrix zwischen 500 Startpunkten und 500 Zielen berechnet, 250.000 Features erzeugen. In diesem Fall sollten Sie den Wert für diese Option auf mindestens 250.000 festlegen.

    11. Klicken Sie auf die Registerkarte Inhalt im Bereich Als Web-Werkzeug freigeben.
    12. Klicken Sie unter Eigene Inhalte > TravelDirections rechts neben dem Werkzeug GetTravelDirections auf die Schaltfläche Werkzeugeigenschaften konfigurieren, um die Eigenschaften des Web-Werkzeugs GetTravelDirections zu konfigurieren.
    13. Blenden Sie die Parameterkategorie Netzwerk-Dataset ein, und wählen Sie Konstanter Wert für die Option Eingabemodus aus.

      Clients, die den Service TravelDirections nutzen, brauchen das für die Erstellung der Wegbeschreibungen verwendete Netzwerk-Dataset nicht anzugeben, da der Service immer das gleiche Netzwerk-Dataset verwendet. Indem Sie für den Eingabemodus des Parameters einen konstanten Wert festlegen, stellen Sie sicher, dass der Parameter in dem mit dem Werkzeug erstellten Service nicht verfügbar ist.

    14. Klicken Sie in der oberen linken Ecke der Seite GetTravelDirections auf die Schaltfläche "Zurück", um zum Bereich Als Web-Werkzeug freigeben zurückzukehren.
  5. Klicken Sie im Bereich Als Web-Werkzeug freigeben auf die Schaltfläche Analysieren, und stellen Sie sicher, dass keine Fehler oder Warnungen gemeldet wurden.

    Das Analyseprogramm prüft, ob Probleme vorliegen, die die erfolgreiche Ausführung des Werkzeugs als Service verhindern. Wenn Fehler gemeldet werden, müssen Sie diese beheben, bevor Sie das Werkzeug veröffentlichen. Werden lediglich Warnungen gemeldet, können Sie mit der Veröffentlichung fortfahren, sofern es sich dabei um erwartete Warnungen für Ihr Szenario handelt. Wenn Sie z. B. Daten kopieren, anstatt registrierte Daten zu referenzieren, wird eine Warnmeldung angezeigt, die darauf hinweist, dass die Daten auf den Server kopiert werden. Hierbei handelt es sich um eine erwartete Warnung für dieses Szenario, und Sie können diese Meldung ignorieren. Sie können mit der rechten Maustaste auf eine Fehler- oder Warnmeldung klicken, um das Hilfethema aufzurufen, in dem die Behebung des Problems beschrieben wird.

  6. Klicken Sie auf die Schaltfläche Veröffentlichen im Bereich Als Web-Werkzeug freigeben, um das Werkzeug als Service zu veröffentlichen.

Verwenden des Web-Werkzeugs

Sie können Web-Werkzeuge im Abschnitt Portal des Bereichs Katalog in ArcGIS Pro öffnen. Neben der Ausführung des Werkzeugs in ArcGIS Pro kann der Geoverarbeitungsservice in einem Python-Skript oder einer Web-App verwendet werden.

Anhand der folgenden Schritte wird beschrieben, wie Sie das Werkzeug GetTravelDirections mit ArcGIS Pro als Client-Anwendung ausführen können:

  1. Klicken Sie im Bereich Katalog auf Portal > Gesamtes Portal.
  2. Geben Sie TravelDirections in das Feld Suchen ein.
  3. Doppelklicken Sie auf die Toolbox "TravelDirections", und öffnen Sie das Werkzeug GetTravelDirections.
  4. Führen Sie das Web-Werkzeug GetTravelDirections aus.

    Der Parameter Name des Ausgabe-Feature-Service des Web-Werkzeugs wird von der Geoverarbeitungsumgebung automatisch hinzugefügt, da das Werkzeug GetTravelDirections eine Feature-Class ausgibt. Mit diesem Parameter können Sie die Ergebnisse als einen Feature-Service schreiben, der in Ihrem Enterprise-Portal gespeichert wird. Für die Verwendung dieses Parameters gelten jedoch Beschränkungen.

    Vorsicht:

    Wenn Sie einen Wert für Name des Ausgabe-Feature-Service angeben, gibt das Werkzeug GetTravelDirections einen Fehler zurück, da das Erstellen von Ergebnissen als Feature-Service von einem Service, der mit dem synchronen Ausführungsmodus veröffentlicht wurde, z. B. der Service TravelDirections in diesem Beispiel, nicht unterstützt wird.