Lernprogramm: Veröffentlichen eines Netzwerkanalyse-Services
Die Netzwerkanalyse kann für ein Verkehrsnetzwerk über das Internet durchgeführt werden, indem Netzwerkanalyse-Services auf ArcGIS for Server 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 for 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.
- Ausführliche Informationen zum Konfigurieren der ArcGIS for Server-Site finden Sie in diesem Hilfesystem unter Erste Schritte nach der Installation.
- Informationen zum Bereitstellen der von der GIS-Ressource referenzierten Daten für den Server finden Sie im Thema Bereitstellen der Daten für ArcGIS for Server.
Lernprogrammdaten
Die Daten für dieses Lernprogramm werden zusammen mit ArcGIS for Server installiert und befinden sich unter <ArcGIS for Server-Installationsverzeichnis>/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 Karten-Service 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 Einzugsgebiet-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:
- Starten Sie ArcMap, und öffnen Sie ein neues leeres Kartendokument.
- Klicken Sie auf Anpassen > Erweiterungen, und markieren Sie ArcGIS Network Analyst, um die Erweiterung "ArcGIS Network Analyst" zu aktivieren.
- Klicken Sie auf Anpassen > Werkzeugleisten > Network Analyst, um die Werkzeugleiste Network Analyst anzuzeigen.
-
Fügen Sie ein Netzwerk-Dataset hinzu, indem Sie auf der Standard-Werkzeugleiste auf Daten hinzufügen
klicken. Dieses muss in der Karte vorhanden sein, damit ein Netzwerkanalyse-Layer erstellt werden kann. 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.
-
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.
Beim Erstellen eines Netzwerkanalyse-Layers in ArcMap wird es 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.
- 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.
- 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 for Server mit ArcMap zu konfigurieren und zu veröffentlichen, führen Sie diese Schritte aus.
- Wählen Sie in ArcMap im Hauptmenü Datei > Freigeben als > Service aus.
- Wählen Sie im Fenster Als Service freigeben die Option Service veröffentlichen aus. Klicken Sie auf Weiter.
- Klicken Sie im Dialogfeld Service veröffentlichen auf Verbindung mit ArcGIS Server herstellen
, um eine neue Verbindung mit dem Server herzustellen.
- Wählen Sie im Fenster ArcGIS Server hinzufügen die Option GIS-Services veröffentlichen aus. Klicken Sie auf Weiter.
- Geben Sie für die Server-URL die URL der ArcGIS-Server-Site ein, zu der Sie eine Verbindung herstellen möchten. Zum Beispiel: http://gisserver.domain.com:6080/arcgis.
- 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. Übernehmen Sie für den Zweck dieses Lernprogramms den Standard-Staging-Ordner, und fahren Sie fort.
- Wenn der Serveradministrator Sicherheit für die Site aktiviert hat, geben Sie Ihren Benutzernamen und Ihr Kennwort ein. Klicken Sie auf Fertig stellen.
- 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.
- Services werden standardmäßig im Stammordner (Stammverzeichnis) von ArcGIS for 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 angezeigt. 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. Klicken Sie auf die Registerkarte Funktionen.
- Standardmäßig sind sowohl die Kartenerstellung als auch das KML-Format aktiviert. Wählen Sie Netzwerkanalyse aus.
- 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.
- Klicken Sie auf Analysieren
. 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 Ausblenden
im oberen Bereich des Service-Editor).
- Korrigieren Sie alle Fehler
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 und Geodatabases für die ArcGIS for 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 einem Order oder einer Geodatabase stammen, der bzw. die nicht registriert ist, 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. Eine vollständige Anleitung zum Registrieren eines Ordners oder einer Geodatabase auf der ArcGIS-Server-Site finden Sie unter Registrieren von Daten bei ArcGIS for Server mit ArcGIS for Desktop.
- Nachdem Sie die Fehler im Kartendokument behoben haben, klicken Sie auf Veröffentlichen
.
Das Kartendokument wird mit ArcGIS for Server veröffentlicht, wodurch ein Karten-Service und ein verknüpfter Netzwerkanalyse-Service mit dem gleichen Namen erstellt werden.
Verwenden des Netzwerkanalyse-Service
ArcGIS for Server-Clients, z. B. ArcMap und Webbrowser, verfügen über Funktionen, um Netzwerkanalyse-Services zu verwenden. Die Schaltfläche Route suchen in ArcMap bietet Standardoptionen für die Nutzung von Funktionen für die Routensuche, die vom Netzwerkanalyse-Service bereitgestellt werden. In Webbrowsern werden Netzwerkanalyse-Services programmgesteuert von Webanwendungen, die mit den ArcGIS-Web-APIs für JavaScript, Flex und Silverlight erstellt sind, sowie von konfigurierbaren Webanwendungen wie ArcGIS Viewer for Flex und ArcGIS Viewer for Silverlight verwendet. Weitere Informationen zu diesen Clients finden Sie im Netzwerkanalyse-Services-Thema Verwenden des Service.
Weitere Informationen zum Verwenden des Netzwerkanalyse-Service in ArcGIS for 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
- Starten Sie ArcMap, und öffnen Sie ein neues leeres ArcMap-Kartendokument.
- Es sollte noch eine Publisher-Verbindung mit ArcGIS for 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. Eine schrittweise Anleitung zum Einrichten der Verbindung finden Sie unter Herstellen einer Benutzerverbindung zu ArcGIS for Server in ArcGIS for Desktop.
- Erweitern Sie im Fenster Katalog den Knoten GIS-Server, und doppelklicken Sie auf die neue ArcGIS for Server-Verbindung, die über die Endung "(Benutzer)" verfügt.
- Suchen Sie in der Serververbindung den Karten-Service, der den Netzwerkanalyse-Service enthält, und ziehen Sie ihn in das Inhaltsverzeichnis.
- 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.
- Klicken Sie auf den Dropdown-Pfeil neben der Schaltfläche Daten hinzufügen
auf der Werkzeugleiste Standard, und wählen Sie Grundkarte hinzufügen.
- Doppelklicken Sie auf eine Grundkarte, z. B. Topografisch.
- Klicken Sie auf den Dropdown-Pfeil neben der Schaltfläche Daten hinzufügen
- 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 bereitgestellt Datenbank "SanFrancisco" verwenden, können Sie diesen Schritt überspringen.
- Klicken Sie in der Werkzeugleiste Werkzeuge auf Route suchen
.
- Klicken Sie im Dialogfeld Route suchen auf die Registerkarte Optionen.
- Klicken Sie auf die Dropdown-Liste Routing-Service, und wählen Sie Route <Layer\[Name Ihres Routen-Service]>.
- Klicken Sie auf die Registerkarte Stopps. Verwenden Sie die Steuerelemente und Parameter auf der Registerkarte Stopps, um Eingaben für die Netzwerkanalyse vorzunehmen.
- Wenn Sie bereit sind, die Route zu berechnen, klicken Sie auf Route suchen.
Verwenden des Routing-Service in einer einfachen Webanwendung
- Um einen Netzwerkanalyse-Service in einer Webanwendung verwenden zu können, müssen Sie die URL kennen. Navigieren Sie in einem Webbrowser zum Services-Verzeichnis von ArcGIS for Server, z. B. http://gisserver.domain.com:6080/arcgis/rest/services.
- 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. Klicken Sie auf Route.
- Eine Seite mit den Eigenschaften des Routen-Layers wird angezeigt. 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 sieht folgendermaßen aus: http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/NAServer/Route
- Kopieren Sie den nachstehenden 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 http-equiv="X-UA-Compatible" content="IE=7, IE=9, IE=10"> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <title>Simple Routing</title> <link rel="stylesheet" href="http://js.arcgis.com/3.6/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://js.arcgis.com/3.6/js/esri/css/esri.css"> <script src="http://js.arcgis.com/3.6/"></script> <script> dojo.require("esri.map"); dojo.require("esri.tasks.route"); var map, routeTask, routeParams; var stopSymbol, routeSymbol, lastStop; function init() { map = new esri.Map("map", { basemap: "streets", center: [-122.44, 37.78], zoom: 12 }); dojo.connect(map, "onClick", addStop); routeTask = new esri.tasks.RouteTask("http://tasks.arcgisonline.com/ArcGIS/rest/services/NetworkAnalysis/ESRI_Route_NA/NAServer/Route"); //setup the route parameters routeParams = new esri.tasks.RouteParameters(); routeParams.stops = new esri.tasks.FeatureSet(); routeParams.outSpatialReference = {"wkid":102100}; dojo.connect(routeTask, "onSolveComplete", showRoute); dojo.connect(routeTask, "onError", errorHandler); //define the symbology used to display the route stopSymbol = new esri.symbol.SimpleMarkerSymbol().setStyle(esri.symbol.SimpleMarkerSymbol.STYLE_CROSS).setSize(15); stopSymbol.outline.setWidth(4); routeSymbol = new esri.symbol.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 esri.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(solveResult) { map.graphics.add(solveResult.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]); } dojo.ready(init); </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>
- Suchen Sie nach dem Parameter routeTask = new esri.tasks.RouteTask, und ersetzen Sie die URL in runden Klammern, damit sie mit der REST-URL des Netzwerkanalysen-Routen-Tasks übereinstimmt.
- Speichern und schließen Sie das Textdokument.
- Ändern Sie die Dateierweiterung des Dokuments, um .html statt der nativen Erweiterung zu verwenden. Ändern Sie z. B. Route.txt in Route.html.
- Öffnen Sie das HTML-Dokument in einem Webbrowser. Befolgen Sie die Anweisungen in der Webanwendung zur Verwendung des Netzwerkanalyse-Service.