Skip To Content

Lernprogramm: Veröffentlichen eines Netzwerkanalyse-Service

Mit der Network Analyst-Lizenz verfügbar.

Komplexität: Einsteiger Erforderliche Daten: Mit Software installiert Datenpfad: <ArcGIS Server installation directory>\help\samples\data\network_analyst\SanFrancisco.gdb Ziel: Veröffentlichen Sie einen Netzwerkanalyse-Service mit ArcGIS Server, und verwenden Sie ihn in ArcMap und in einer Webanwendung.

Die Netzwerkanalyse kann für ein Verkehrsnetzwerk über das Internet durchgeführt werden, indem Netzwerkanalyse-Services auf einer ArcGIS Server-Site gehostet werden. Dies umfasst das Suchen der nächsten Einrichtung, der optimalen Route für ein Fahrzeug, der optimalen Routen für eine Fahrzeugflotte, das Suchen nach Einrichtungen mit Location-Allocation, das Berechnen einer Start-Ziel-Kostenmatrix und das Generieren von Einzugsgebieten. Dieses Lernprogramm führt Sie durch den Erstellungsprozess eines Kartendokuments, das für die Netzwerkanalyse verwendet werden kann, und durch den Vorgang zur Veröffentlichung des Kartendokuments als Netzwerkanalyse-Service. Außerdem erhalten Sie Hilfestellung zum Verwenden des Netzwerkanalyse-Service in ArcMap und in einer Webanwendung. Weitere Informationen zu den verschiedenen Arten der Netzwerkanalyse und ihren Funktionen finden Sie unter Arten von Netzwerkanalysen in der ArcGIS-Hilfe.

Vor dem Start dieses Lernprogramms

Wenn Sie ArcGIS Server gerade installiert haben, müssen Sie noch einige vorbereitende Schritte ausführen, bevor Sie eine Verbindung mit dem Server herstellen und Services veröffentlichen können:

Lernprogrammdaten

Die Daten für dieses Lernprogramm werden mit ArcGIS Server installiert und befinden sich unter <ArcGIS Server installation directory>\help\samples\data\network_analyst.

Optional können Sie versuchen, stattdessen die Schritte mit eigenen Daten durchzuarbeiten.

Erstellen des Kartendokuments

Für einen Netzwerkanalyse-Service ist ein Kartenservice erforderlich, der einen oder mehrere Netzwerkanalyse-Layer enthält. Dies bedeutet, dass das auf dem Server veröffentlichte Kartendokument einen oder mehrere Layer enthalten muss, die mit Werkzeugen aus der Werkzeugleiste "Network Analyst" erstellte Netzwerkanalyse-Layer sind. Die Netzwerkanalyse-Services unterstützen die Route, die nächste Einrichtung und Einzugsgebiets-Analyse-Layer.

Führen Sie folgende Schritte aus, um ein einzelnes Kartendokument zu erstellen, mit dem alle drei Arten der Netzwerkanalyse durchgeführt werden können:

  1. Starten Sie ArcMap, und öffnen Sie ein neues leeres Kartendokument.
  2. Klicken Sie auf Anpassen > Erweiterungen, und markieren Sie Network Analyst, um die Erweiterung "Network Analyst" zu aktivieren.
  3. Klicken Sie auf Anpassen > Werkzeugleisten > Network Analyst, um die Werkzeugleiste Network Analyst anzuzeigen.
  4. Fügen Sie ein Netzwerk-Dataset hinzu, das in der Karte vorhanden sein muss, um einen Netzwerkanalyse-Layer zu erstellen. Klicken Sie dazu auf der Standardwerkzeugleiste auf Daten hinzufügenDaten hinzufügen. Navigieren Sie zum Netzwerk-Dataset "Streets_ND", das sich in der Datenbank "SanFrancisco" befindet. Wenn Sie aufgefordert werden, alle an Streets_ND beteiligten Feature-Classes zur Karte hinzuzufügen, klicken Sie auf Nein.
  5. Fügen Sie einen Netzwerkanalyse-Layer zur Karte hinzu, indem Sie auf der Werkzeugleiste Network Analyst auf das Dropdown-Menü Network Analyst klicken und Neue Route auswählen.

    Network Analyst (Werkzeugleiste)

    Beim Erstellen eines Netzwerkanalyse-Layers in ArcMap wird er automatisch an das aktive Netzwerk-Dataset gebunden. Das Netzwerk für San Francisco war aktiv, als Sie den Routenanalyse-Layer erstellt haben, sodass diese beiden Layer aneinander gebunden sind. Darüber hinaus verweist der Netzwerkanalyse-Layer über einen Dateipfad auf das Netzwerk-Dataset, an das er gebunden ist. Aus diesem Grund wird der Netzwerk-Dataset-Layer in ArcMap nicht mehr benötigt.

  6. Klicken Sie mit der rechten Maustaste auf "Streets_ND" oder den Namen des Netzwerk-Dataset-Layers, und klicken Sie auf Entfernen.

    Obwohl die Karte leer ist, ist der Routenanalyse-Layer vorhanden, und er kann als Service veröffentlicht werden. Wenn Sie schließlich den veröffentlichten Netzwerkanalyse-Service zu einer Karte hinzufügen, werden zunächst keine Features angezeigt, sondern erst, wenn Ergebnisse generiert werden. Um für einen Netzwerkanalyse-Service zusätzlichen Kontext bereitzustellen, können Sie auch einen gecachten Karten-Service verwenden, z. B. einen Service, der von ArcGIS Online bereitgestellt wird.

  7. Klicken Sie auf Datei > Speichern unter, um das Kartendokument zu speichern.

Veröffentlichen des Netzwerkanalyse-Service

Sobald Sie über ein Kartendokument mit einem Netzwerkanalyse-Layer verfügen, sind Sie bereit, es als Netzwerkanalyse-Service zu veröffentlichen. Durch das Veröffentlichen des Kartendokuments als Service aktivieren Sie die Netzwerkanalysefunktion, durch die ein Netzwerkanalyse-Service des gleichen Namens erstellt wird.

Um das Kartendokument in ArcGIS Server mit ArcMap zu konfigurieren und zu veröffentlichen, führen Sie diese Schritte aus.

  1. Wählen Sie in ArcMap im Hauptmenü Datei > Freigeben als > Service aus.
  2. Wählen Sie im Fenster Als Service freigeben die Option Service veröffentlichen aus. Klicken Sie auf Weiter.
  3. Klicken Sie im Dialogfeld Service veröffentlichen auf Verbindung mit ArcGIS-Server herstellenArcGIS Server hinzufügen, um eine neue Verbindung mit dem Server herzustellen.
  4. Wählen Sie im Fenster ArcGIS-Server hinzufügen die Option GIS-Services veröffentlichen aus. Klicken Sie auf Weiter.
  5. Geben Sie für die Server-URL die URL der ArcGIS Server-Site ein, zu der Sie eine Verbindung herstellen möchten, z. B. http://gisserver.domain.com:6080/arcgis.
  6. Wählen Sie in der Dropdown-Liste Server-Typ die Option ArcGIS Server aus.

    Während der Veröffentlichung wird eine Service-Definitionsdatei erstellt und vorübergehend auf der lokalen Festplatte gespeichert. Wenn der Veröffentlichungsprozess abgeschlossen ist, wird die Service-Definitionsdatei hochgeladen und die lokale Datei gelöscht.

  7. Übernehmen Sie für den Zweck dieses Lernprogramms den Standard-Staging-Ordner, und fahren Sie fort.
  8. Wenn der Serveradministrator Sicherheit für die Site aktiviert hat, geben Sie Ihren Benutzernamen und Ihr Kennwort ein. Klicken Sie auf Fertig stellen.
  9. Geben Sie im Fenster Service veröffentlichen optional einen neuen Namen für den Service ein. Der Name darf nicht mehr als 120 Zeichen lang sein und darf nur alphanumerische Zeichen und Unterstriche enthalten. Klicken Sie auf Weiter.
  10. Services werden standardmäßig im Stammordner (Stammverzeichnis) von ArcGIS Server veröffentlicht. Services können in Unterordnern des Stammverzeichnisses organisiert werden. Wählen Sie den Ordner aus, in dem Sie den Service veröffentlichen möchten, oder erstellen Sie einen neuen Ordner mit dem Service. Klicken Sie auf Fortfahren.

    Der Service-Editor wird geöffnet. Mit dem Service-Editor können Sie auswählen, auf welche Weise Benutzer den Netzwerkanalyse-Service verwenden können, und Sie können ganz genau festlegen, wie der Service auf dem Server veröffentlicht wird.

  11. Klicken Sie auf die Registerkarte Funktionen.

    Standardmäßig sind sowohl die Kartenerstellung als auch das KML-Format aktiviert.

  12. Wählen Sie Netzwerkanalyse aus.
  13. Klicken Sie im linken Service-Editor-Bereich auf die Registerkarte Netzwerkanalyse, und überprüfen Sie die Operationen und Eigenschaften, die für den Netzwerkanalyse-Service aktiviert sind. Übernehmen Sie für den Zweck dieses Lernprogramms die Standardwerte, und fahren Sie fort. Weitere Informationen finden Sie unter Netzwerkanalyse-Services. Informationen dazu, wie Sie den Netzwerkanalyse-Service optimal für die Bereitstellung konfigurieren, finden Sie unter Optimieren und Konfigurieren von Services.
  14. Klicken Sie auf AnalysierenAnalysieren (Werkzeug). Daraufhin wird das Kartendokument geprüft, um festzustellen, ob es auf dem Server veröffentlicht werden kann.
    Tipp:

    Um den Anzeigebereich beim Konfigurieren des Netzwerkanalyse-Service zu vergrößern, klicken Sie auf die Schaltfläche AusblendenAusblenden im oberen Service-Editor-Bereich.

  15. Beheben Sie alle FehlerFehler im Fenster Vorbereiten. Sie können die Veröffentlichung erst anschließend durchführen. Optional können Sie die Warnungen und Informationsmeldungen korrigieren, um die Performance und Darstellung des Netzwerkanalyse-Service zu verbessern. Weitere Informationen zum Beheben dieser Probleme finden Sie unter Analysieren der GIS-Ressource.
    Hinweis:

    Sie können Ordner, Datenbanken und Cloud-Speicherorte bei der ArcGIS Server-Site registrieren, um sicherzustellen, dass der Server Ihre Daten erkennt und verwenden kann. Wenn Sie mit den folgenden Schritten fortfahren, werden alle von Ihrem Kartendokument referenzierten Daten, die aus einer nicht registrierten Datenquelle stammen, während der Veröffentlichung auf den Server kopiert. Dies ist eine Vorsichtsmaßnahme, um sicherzustellen, dass der Server auf alle Daten zugreifen kann, die vom Service verwendet werden. Vollständige Anweisungen zum Registrieren einer Datenquelle bei der ArcGIS Server-Site finden Sie unter Registrieren von Daten bei ArcGIS Server mit ArcMap.

  16. Nachdem Sie die Fehler im Kartendokument behoben haben, klicken Sie auf VeröffentlichenVeröffentlichen.

    Das Kartendokument wird in ArcGIS Server veröffentlicht, wobei ein Kartenservice und ein verknüpfter Netzwerkanalyse-Service mit dem gleichen Namen erstellt werden.

Verwenden des Netzwerkanalyse-Service

ArcGIS Server-Clients, z. B. ArcGIS Desktop und Webbrowser, verfügen über Funktionen, um Netzwerkanalyse-Services zu verwenden. In ArcMap bietet die Schaltfläche Route suchenRoute suchen Standardoptionen für die Nutzung von Funktionen für die Routensuche, die vom Netzwerkanalyse-Service bereitgestellt werden. In Webbrowsern werden Netzwerkanalyse-Services von Webanwendungen, die mit ArcGIS Online, ArcGIS Enterprise und der ArcGIS API for JavaScript erstellt wurden, programmgesteuert verwendet. Weitere Informationen zu diesen Clients finden Sie unter Netzwerkanalyse-Services.

Weitere Informationen zum Verwenden des Netzwerkanalyse-Service in ArcGIS Desktop oder in einer einfachen Webanwendung, die mit der ArcGIS API for JavaScript erstellt wird, finden Sie in den folgenden Abschnitten:

Verwenden des Routing-Service in ArcMap

Führen Sie die folgenden Schritte durch, um einen Routing-Service in ArcMap zu verwenden:

  1. Starten Sie ArcMap, und öffnen Sie ein neues leeres Kartendokument.
  2. Es sollte noch eine Publisher-Verbindung mit ArcGIS Server bestehen. Um diesen Service in ArcMap verwenden zu können, ist jedoch eine Benutzerverbindung erforderlich. Erweitern Sie im Fenster Katalog den Knoten GIS-Server, und doppelklicken Sie auf ArcGIS-Server hinzufügen, um eine Benutzerverbindung herzustellen. Schritt-für-Schritt-Anweisungen zum Einrichten der Verbindung finden Sie unter Herstellen einer Verbindung mit ArcGIS Server über ArcGIS Desktop.
  3. Blenden Sie im Fenster Katalog den Knoten GIS-Server ein, und doppelklicken Sie auf die neue ArcGIS Server-Verbindung, die über die Endung "(Benutzer)" verfügt.
  4. Suchen Sie in der Serververbindung den Kartenservice, der den Netzwerkanalyse-Service enthält, und ziehen Sie ihn in das Inhaltsverzeichnis.
  5. Auch wenn der Layer im Inhaltsverzeichnis vorhanden ist, ist die Karte weiterhin leer. Um Kontext für die Karte bereitzustellen, fügen Sie einen Grundkarten-Layer aus ArcGIS Online hinzu.
    1. Klicken Sie auf der Werkzeugleiste Standard auf den Dropdown-Pfeil neben der Schaltfläche Daten hinzufügen Daten hinzufügen, und wählen Sie Grundkarte hinzufügen aus.
    2. Doppelklicken Sie auf eine Grundkarte, z. B. Topografisch.
  6. Vergrößern Sie die Ansicht der San Francisco-Halbinsel, die sich im südlichen Bereich der Karte befindet, da die hinzuzufügenden Stopps innerhalb der Grenzen des Netzwerk-Datasets von San Francisco liegen müssen, mit dem Sie den Netzwerkanalyse-Layer erstellt haben. Wenn Sie nicht die bereitgestellte Datenbank "SanFrancisco" verwenden, überspringen Sie diesen Schritt.
  7. Klicken Sie in der Werkzeugleiste Werkzeuge auf Route suchenRoute suchen.
  8. Klicken Sie im Dialogfeld Route suchen auf die Registerkarte Optionen.
  9. Klicken Sie auf die Dropdown-Liste Routing-Service, und wählen Sie Route <Layer\[Name Ihres Routen-Service]> aus.
  10. Klicken Sie auf die Registerkarte Stopps. Verwenden Sie die Steuerelemente und Parameter auf der Registerkarte Stopps, um Eingaben für die Netzwerkanalyse vorzunehmen.
  11. Wenn Sie bereit sind, die Route zu berechnen, klicken Sie auf Route suchen.

Verwenden des Routing-Service in einer einfachen Webanwendung

Führen Sie die folgenden Schritte aus, um einen Routing-Service in einer Web-App zu verwenden:

  1. Um einen Netzwerkanalyse-Service in einer Webanwendung verwenden zu können, müssen Sie die URL kennen. Navigieren Sie in einem Webbrowser zum ArcGIS Server-Services-Verzeichnis, z. B. http://gisserver.domain.com:6080/arcgis/rest/services.
  2. Klicken Sie in der Liste mit Services auf den Netzwerkanalyse-Service. An alle Netzwerkanalyse-Services wird (NAServer) angehängt. Wenn sich der Service in einem Ordner befindet, navigieren Sie zu diesem Ordner, und wählen Sie den Service aus.

    Eine Seite mit dem Namen des Service, der Service-Beschreibung und einer Liste mit verfügbaren Analyse-Layern wird angezeigt.

  3. Klicken Sie auf Route.

    Eine Seite mit den Eigenschaften des Routen-Layers wird angezeigt.

  4. Kopieren Sie in der Adressleiste des Browsers die URL der Seite, und fügen Sie sie in einen Texteditor ein.

    Dabei handelt es sich um die REST-URL zum Routen-Task des Netzwerkanalyse-Service. Die URL weist das folgende Format auf: http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/NAServer/Route.

  5. Kopieren Sie den folgenden Beispielcode, und fügen Sie ihn in einen Texteditor wie Microsoft Editor ein:

    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        
        <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
        <title>Simple Routing</title>
    
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/dijit/themes/claro/claro.css">
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/esri/css/esri.css">
        
        <script src="https://js.arcgis.com/3.16/"></script>
        <script>
          require([
            "esri/urlUtils",
            "esri/map",
            "esri/graphic",            
            "esri/tasks/RouteTask",            
            "esri/tasks/RouteParameters",
    
            "esri/tasks/FeatureSet",            
            "esri/symbols/SimpleMarkerSymbol",
            "esri/symbols/SimpleLineSymbol",          
    
            "esri/Color",
            "dojo/on",
            "dijit/registry",
    
            "dijit/layout/BorderContainer",
            "dijit/layout/ContentPane",
            "dijit/form/HorizontalSlider",
            "dijit/form/HorizontalRuleLabels"
          ], function (
            urlUtils, Map, Graphic, RouteTask, RouteParameters,
            FeatureSet, SimpleMarkerSymbol, SimpleLineSymbol,           
            Color, on, registry
          ) {
            var map, routeTask, routeParams;
            var stopSymbol, routeSymbol, lastStop;
    
           //When referencing a local route task, the proxy rule may be removed or commented out.
    
            urlUtils.addProxyRule({
              urlPrefix: "route.arcgis.com",  
              proxyUrl: "/sproxy/"
            });
            
            map = new Map("map", {
                basemap : "streets",
                center : [-117.195, 34.057],
                zoom : 14
              });
    
            map.on("click", addStop);         
    
            routeTask = new RouteTask("https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World");
    
            //setup the route parameters
            routeParams = new RouteParameters();
            routeParams.stops = new FeatureSet();
            routeParams.outSpatialReference = {
              "wkid" : 102100
            };
    
            routeTask.on("solve-complete", showRoute);
            routeTask.on("error", errorHandler);               
    
            //define the symbology used to display the route
            stopSymbol = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_CROSS).setSize(15);
            stopSymbol.outline.setWidth(4);
            routeSymbol = new SimpleLineSymbol().setColor(new dojo.Color([0, 0, 255, 0.5])).setWidth(5);
    
            //Adds a graphic when the user clicks the map. If 2 or more points exist, route is solved.
            function addStop(evt) {
              var stop = map.graphics.add(new Graphic(evt.mapPoint, stopSymbol));
              routeParams.stops.features.push(stop);
    
              if (routeParams.stops.features.length >= 2) {
                routeTask.solve(routeParams);
                lastStop = routeParams.stops.features.splice(0, 1)[0];
              }
            }
    
            //Adds the solved route to the map as a graphic
            function showRoute(evt) {
              map.graphics.add(evt.result.routeResults[0].route.setSymbol(routeSymbol));
            }
    
            //Displays any error returned by the Route Task
            function errorHandler(err) {
              alert("An error occured\n" + err.message + "\n" + err.details.join("\n"));
    
              routeParams.stops.features.splice(0, 0, lastStop);
              map.graphics.remove(routeParams.stops.features.splice(1, 1)[0]);
            }
    
           });
        </script>
    
      </head>
      <body class="claro">
        <div id="map" style="width:600px; height:400px; border:1px solid #000;"></div>
         <p>Click on the map to add stops to the route. The route from the last stop to the newly added stop is calculated. If a stop is not reachable, it is removed and the last valid point is set as the starting point.</p>
      </body>
    </html>

  6. Suchen Sie nach dem Parameter routeTask = new RouteTask, und ersetzen Sie die URL in runden Klammern, damit sie mit der REST-URL des Netzwerkanalysen-Routen-Tasks übereinstimmt.
  7. Speichern und schließen Sie das Textdokument.
  8. Ändern Sie die Dateierweiterung des Dokuments, um .html statt der nativen Erweiterung zu verwenden. Ändern Sie beispielsweise Route.txt in Route.html.
  9. Öffnen Sie das HTML-Dokument in einem Webbrowser. Befolgen Sie die Anweisungen in der Webanwendung zur Verwendung des Netzwerkanalyse-Service.