Beispiel für Geoverarbeitungs-Service: Fahrzeitpolygone
Ordner |
DriveTimePolygons |
Zweck |
Erstellt Fahrzeitpolygone (oder Fahrentfernungspolygone) um Eingabepunkte für die angegebenen Fahrzeitwerte |
Service |
DriveTimePolygonsService (Geoverarbeitungs-Service) |
Geoverarbeitungs-Task |
Calculate Drive Time Polygons |
Eingaben |
|
Ausgaben |
Ein Polygon, das an allen Punkten jeweils einem Eingabe-Fahrzeitwert oder Eingabe-Entfernungswert für jede Einrichtung entspricht |
Daten |
Verwendet ein Straßennetz-Dataset für den Bereich San Francisco, das im Ordner "ToolData" bereitgestellt wird |
Erweiterungen |
|
Hinweis |
Demonstriert die grundlegenden Schritte für die Einrichtung und Verwendung eines Server-Tasks für die Erstellung von Einzugsgebieten. (Diese Schritte ähneln der Einrichtung eines Vehicle Routing Problem mit dem Geoverarbeitungswerkzeug Vehicle Routing Problem-Analyse berechnen.) |
Entsprechender Ordner
Die Daten für dieses Lernprogramms können von ArcGIS.com heruntergeladen werden. Extrahieren Sie die Daten unter C:\arcgis\ArcTutor\. Das Modell und einige verknüpfte Daten sind unter C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons. gespeichert. Das Netzwerk-Dataset, das vom Netzwerkanalyse-Layer im Modell referenziert wird, ist in der SanFrancisco-Geodatabase unter C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons gespeichert.
Task "Calculate Drive-Time Polygons"
Der Hauptzweck des Tasks "Calculate Drive-Time Polygons" ist das Erstellen von Fahrzeitpolygonen um vom Benutzer angegebene Punkte. Ein Fahrzeitpolygon ist ein Bereich, der alle zugänglichen Straßen umfasst, die innerhalb einer angegebenen Fahrzeit von diesem Punkt aus erreicht werden können. Mit Fahrzeitpolygonen kann die Erreichbarkeit eines Punktes in Bezug auf einige andere Features überprüft werden. Beispielsweise lässt sich mit Fahrzeitpolygonen von einer, zwei und drei Minuten um ein Einzelhandelsgeschäft bestimmen, welche Personen mit hoher Wahrscheinlichkeit in diesem Geschäft einkaufen.
Es sind zwei Geoverarbeitungswerkzeuge für das Erstellen von Einzugsgebieten vorhanden: Einzugsgebiet-Layer erstellen und Einzugsgebiete erstellen. In diesem Beispiel wird Einzugsgebiete erstellen verwendet, da es die Erstellung von Einzugsgebiet-Services vereinfachen und die Solver-Performance in einer Serverumgebung optimieren soll. Ein weiterer Vorteil von Einzugsgebiete erstellen ist, dass es einschränkende Parameter bereitstellt, mit denen Sie die Serververarbeitung und Bandbreitennutzung einschränken können, indem Sie die von Clients angeforderte Größe der Einzugsgebietsprobleme einschränken. In diesem Beispiel wird der Parameter Maximale Einrichtungen auf 10 eingestellt, sodass der Server automatisch alle Anforderungen ablehnt, um ein Einzugsgebietsproblem mit mehr als 10 Einrichtungen zu beheben.
Daten
Das Netzwerk-Dataset für dieses Beispiel befindet sich unter C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\SanFrancisco.gdb und die Kartendokumente, die Toolbox und andere ergänzende Daten sind unter C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons gespeichert.
Netzwerk-Dataset
Der Ordner "Network Analyst" enthält die File-Geodatabase SanFrancisco.gdb. Das Feature-Dataset Transportation enthält das Netzwerk-Dataset Streets_ND. Dieses Netzwerk-Dataset bildet das Straßennetz des Bereichs San Francisco ab. Es stellt mehrere Netzwerkattribute bereit, einschließlich TravelTime (Fahrzeit zu jedem Straßenabschnitt in Minuten) und Meters (Länge jedes Straßenabschnitts).
Toolbox und Kartendokumente
Die Toolbox für den Geoverarbeitungs-Service ist DriveTimePolygonsService.tbx.
Die zwei Kartendokumente DriveTimePolygonsService.mxd und UsingDriveTimePolygonsService.mxd sind enthalten, um sekundäre Schritte aus diesem Workflow-Thema zu entfernen, wie Hinzufügen von Layern, Einpassen von Kartenausdehnungen um das Untersuchungsgebiet usw.
Modell
Überblick über das Modell
Das Modell "Fahrzeitpolygone berechnen" in der Toolbox DriveTimePolygonsService ist unten dargestellt. Es gibt vier Eingabevariablen:
- Bei Input Facilities handelt es sich um den Mittelpunkt der zu generierenden Fahrzeitpolygone. (In der Netzwerkanalyse bezeichnet eine Einrichtung oder "Facility" eine feste Position im Netzwerk, z. B. ein Gebäude oder den aktuellen Standort.)
- Unterbrechungswerte ist eine durch Leerzeichen getrennte Liste von Fahrzeit- oder Fahrentfernungswerten.
- Unterbrechungseinheiten gibt die Einheiten der Unterbrechungswerte an und bestimmt, ob Fahrzeit- oder Fahrentfernungspolygone erstellt werden. Fahrzeitpolygone werden bei Auswahl einer Zeiteinheit erstellt; Fahrentfernungspolygone werden für Längeneinheiten erstellt.
- Polygonüberlappung gibt an, ob jeder Unterbrechungswert von der Einrichtung (SCHEIBEN) oder vom Ende der letzten Unterbrechung (RINGE) erstellt wird. Diese Variable beeinflusst nur die Ausgabe für Einzugsgebiete, die mehrere Unterbrechungen pro Einrichtung aufweisen.
Das Werkzeug Einzugsgebiete erstellen in diesem Modell erstellt einen Netzwerkanalyse-Layer für das Einzugsgebiet, fügt die vom Benutzer digitalisierten Punkte als Einrichtungen hinzu, führt eine Berechnungsoperation aus, und gibt die Fahrzeitpolygone aus.
Element |
Typ |
Beschreibung |
---|---|---|
Einrichtungen | Feature-Set (Punkte), Eingabeparameter | Punkt-Features, von denen ausgehend die Fahrzeitpolygone bestimmt werden |
Unterbrechungswerte |
Zeichenfolge, Eingabeparameter |
Durch Leerzeichen getrennte Liste mit Fahrzeit- oder Fahrentfernungswerten |
Unterbrechungseinheiten | Zeichenfolge, Eingabeparameter | Einheiten für Unterbrechungswerte |
Polygon-Überlappungstyp | Zeichenfolge, Eingabeparameter | Gibt an, ob konzentrische Einzugsgebiet-Polygone als Scheiben oder Ringe erstellt werden sollen, wenn mehrere Unterbrechungswerte vorhanden sind |
Polygon-Barrieren |
Feature-Set (Polygone) |
Polygon-Features, die das Passieren der abgedeckten Netzwerkkanten verhindern oder die Kosten skalieren |
Linien-Barrieren |
Feature-Set (Linien) |
Linien-Features, die das Passieren der abgedeckten Netzwerkkanten verhindern oder die Kosten skalieren |
Punkt-Barrieren |
Feature-Set (Punkte) |
Punkt-Features, die Kosten hinzufügen oder das Passieren eines Punktes im Netzwerk verhindern |
Streets_ND | Netzwerk-Dataset-Layer | Netzwerk-Dataset-Layer, mit dem die Einzugsgebiete berechnet werden |
Netzwerkparameterwerte |
Record-Set |
Parameterwerte für parametrierte Netzwerkattribute |
Werkzeug | Erstellt und berechnet eine Einzugsgebiet-Analyse | |
SolveSucceeded | Boolesch | Abgeleitete Ausgabe, die angibt, ob die Berechnung erfolgreich war |
Polygone | Feature-Layer, Ausgabeparameter | Ausgabe-Polygon-Layer, der die Einzugsgebiete repräsentiert |
Überblick über Workflows
Der allgemeine Workflow für die Veröffentlichung eines Einzugsgebiet-Solver als Geoverarbeitungs-Service ist folgender:
- Fügen Sie Einzugsgebiete erstellen zu ModelBuilder hinzu.
- Entscheiden Sie, für welche Parameter Clients Werte festlegen können, und stellen Sie sie dann als Modellparameter bereit.
- Dokumentieren Sie die Parameter im Dialogfeld Elementbeschreibung des Modells.
- Führen Sie das Modell einmal in ArcMap aus.
- Veröffentlichen Sie das Modell im Ergebnisfenster in ArcMap als Geoverarbeitungs-Service.
Verwenden von Netzwerk-Dataset-Layern
Das Netzwerk-Dataset für das Gebiet San Francisco wird dem Kartendokument "DriveTimePolygonsService" als Netzwerk-Dataset-Layer (Streets_ND) hinzugefügt. Dieser Layer wird im Modell als Eingabevariable für das Werkzeug Einzugsgebiete erstellen verwendet. Durch die Verwendung eines Netzwerk-Layers wird die Gesamtausführungszeit des Modells wesentlich verringert, da durch den Netzwerk-Dataset-Layer eine Verbindung mit dem Netzwerk-Dataset offen gehalten wird. Wenn hingegen das Netzwerk-Dataset vom Pfad zu dessen Speicherort auf der Festplatte referenziert wird, wird bei jeder Ausführung des Modells eine Verbindung mit dem Netzwerk-Dataset hergestellt. Hierdurch wird die Performance des mit dem Modell erstellten Geoverarbeitungs-Service verringert.
Modellprozesse
Mit dem Werkzeug Einzugsgebiete erstellen wird der ArcGIS Network Analyst-Layer (NA) "Einzugsgebiet" erstellt, in dem die Analyse-Eigenschaften gespeichert werden, der auf den für die Analyse verwendeten Netzwerk-Dataset-Layer Streets_ND verweist und in dem die Eingabe-Einrichtungen und Ausgabe-Polygone gespeichert werden. Das Netzwerk-Dataset verfügt über das Netzwerkkostenattribut TravelTime, das die zum Passieren der einzelnen Straßenabschnitte erforderliche Fahrzeit angibt. Ebenso weist es das Kostenattribut Meters auf, das die Länge jedes Straßenabschnitts angibt. Eines dieser beiden Kostenattribute wird in der Analyse referenziert, um entweder Fahrzeit- oder Fahrentfernungspolygone zu erstellen. Das referenzierte Kostenattribut hängt davon ab, ob die Variable Unterbrechungseinheiten auf eine Zeit- oder Entfernungseinheit festgelegt ist: Zeiteinheiten führen dazu, dass das Attribut TravelTime verwendet wird, Entfernungseinheiten führen zur Verwendung des Attributs Meters. Das Werkzeug verarbeitet alle erforderlichen Einheitenkonvertierungen.
Die Standardunterbrechungswerte werden als durch Leerzeichen getrennte Werteliste aus der Variablen Unterbrechungswerte gelesen.
Für diesen Service wurden mit der Option "NO_MERGE" überlappende Polygone pro Einrichtung erstellt, die nicht zusammengeführt werden.
Der Parameter Facilities hat den Datentyp "Feature-Set", sodass das Modell die vom Benutzer digitalisierten Punkte interaktiv als Einrichtungen übernehmen kann.
Das Werkzeug berechnet das Einzugsgebiet auf der Grundlage der in den Eingabe-Parametern angegebenen Optionen und generiert die Fahrzeitpolygone. Die berechneten Polygone werden in den Ausgabe-Polygon-Layer geschrieben.
Service-Funktionen
Die Parameter im Abschnitt Service-Funktionen des Werkzeugdialogfeldes schränken die Verarbeitungs- und Speicheranforderungen von Client-Anforderungen ein. Sie lösen bestimmte Verhaltensweisen aus. Beispiel: Da der Parameter Maximale Einrichtungen für dieses Modell auf 10 eingestellt ist, prüft der resultierende Service, wie viele Einrichtungen der Benutzer erstellt hat. Wenn 10 oder weniger Einrichtungen vorhanden sind, werden die Einzugsgebiete erstellt; bei mehr als 10 Einrichtungen wird der Service umgehend beendet.
Alle anderen Service-Funktionsparameter funktionieren ähnlich, mit Ausnahme von Hierarchie jenseits von Unterbrechungszeitwert erzwingen und Hierarchie jenseits von Unterbrechungsentfernungswert erzwingen. Diese letzten beiden Parameter werden deaktiviert, da das Netzwerk-Dataset "San Fancisco" kein Hierarchie-Attribut aufweist. Andernfalls und bei Deaktivierung des Parameters Use Hierarchy in Analysis können Sie bei der Übergabe größerer Unterbrechungswerte erzwingen, dass das Einzugsgebiet ein hierarchisches Einzugsgebiet wird. Dies ist nützlich, da hierarchische Einzugsgebiete (obwohl sie ungenauer sind) deutlich weniger Verarbeitungsaufwand bedeuten als nicht hierarchische Einzugsgebiete.
Elementbeschreibung
Durch das Dokumentieren der Elementbeschreibung des Geoverarbeitungsmodells dokumentieren Sie auch den resultierenden Service und seine Parameter, da der Veröffentlichungsassistent den Text in die Elementbeschreibung des Service kopiert. Die Beschreibung oder Dokumentation des Service ist erforderlich und unterstützt Benutzer bei der erfolgreichen Interaktion mit dem Service und der Erstellung von Einzugsgebieten. Das Modell in diesem Beispiel ist dokumentiert; Sie können es prüfen, indem Sie im Fenster Katalog mit der rechten Maustaste auf das Geoverarbeitungsmodell klicken, und Elementbeschreibung wählen.
Veröffentlichung
Der Geoverarbeitungs-Service wird wie in den Schritten unten beschrieben veröffentlicht.
- Öffnen Sie DriveTimePolygonsService.mxd. Der Standardspeicherort für die Lernprogrammdaten ist C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons.
- Führen Sie das Geoverarbeitungsmodell "Fahrzeitpolygone berechnen" aus.
- Erweitern Sie DriveTimePolygonsService.tbx im Fenster Katalog, und doppelklicken Sie dann auf das Werkzeug "Fahrzeitpolygone berechnen".
- Klicken Sie im Dialogfeld des Werkzeugs Fahrzeitpolygone berechnen auf das Symbol neben Einrichtungen und dann auf die Karte, um eine Einrichtung hinzuzufügen.
- Klicken Sie auf OK, um Einzugsgebiete zu erstellen.
- Um das Fenster Ergebnisse zu öffnen, klicken Sie auf Geoverarbeitung > Ergebnisse.
- Erweitern Sie Aktuelle Sitzung im Ergebnisfenster.
- Klicken Sie mit der rechten Maustaste auf CalculateDriveTimePolygons (gefolgt von der Uhrzeit und dem Datum der Modellausführung), und wählen Sie Freigeben als > Geoverarbeitungs-Service.
- Klicken Sie im Dialogfeld Als Service freigeben auf Weiter.
- Wählen Sie eine ArcGIS-Server-Verbindung mit Publisher-Funktionen aus der Dropdown-Liste aus, oder stellen Sie eine Verbindung über die Schaltfläche rechts neben der Dropdown-Liste her.
- Klicken Sie auf Weiter.
- Veröffentlichen Sie den Service im Stammordner, oder geben Sie einen anderen Ordner an, und klicken Sie auf Fortfahren.
Das Dialogfeld Service-Editor wird angezeigt. Der Text aus der Elementbeschreibung des Geoverarbeitungsmodells wird kopiert, um den Service zu beschreiben. Er wird zur Bearbeitung im Bereich Elementbeschreibung des Dialogfeldes sowie in den Bereichen direkt darüber (Einrichtungen, Unterbrechungswerte usw.) angezeigt.
- Klicken Sie auf Parameter im linken Bereich des Dialogfeldes Service-Editor, und wählen Sie Warnung aus der Dropdown-Liste Meldungsebene.
Fehler- oder Warnmeldungen während der Ausführung des Modells als Teil eines Service werden dem Client mitgeteilt.
- Klicken Sie auf Analysieren , um Warn- oder Fehlermeldungen im Fenster Publisher anzuzeigen.
Wenn Sie keinen Datenspeicher eingerichtet haben, erhalten Sie eine Warnung, dass Daten auf den Server kopiert werden. Sie erhalten möglicherweise auch andere Meldungen. Warnungen können ignoriert werden; Fehler nicht. Klicken Sie mit der rechten Maustaste im Fenster Publisher auf die Fehlermeldungen, um Hilfe zur Behebung zu erhalten.
- Klicken Sie auf Veröffentlichen im Dialogfeld Service-Editor.
Eventuell wird sofort ein Dialogfeld angezeigt, um Sie darüber zu informieren, dass Streets_ND auf den Server kopiert wird. Nach der erfolgreichen Veröffentlichung des Service wird das Dialogfeld Erfolgreich angezeigt.
- Klicken Sie auf OK.
Verwenden
- Öffnen Sie UsingDriveTimePolygonsService.mxd.
Diese Karte zeigt einen ArcGIS Online-Grundkarten-Layer und ist auf San Francisco gezoomt.
- Erstellen Sie eine Benutzerverbindung mit dem ArcGIS-Server im Fenster Katalog, wenn noch keine besteht.
- Erweitern Sie die Benutzerverbindung und dann die Toolbox DriveTimePolygonsService.tbx.
- Öffnen Sie das Werkzeug "Fahrzeitpolygone berechnen" per Doppelklick.
- Fügen Sie einen Punkt hinzu, um einen Einrichtungsstandort zu erstellen.
- Geben Sie als Fahrzeitwerte 2 3 4 an, und klicken Sie auf OK, um den Task auszuführen.
ArcGIS for Server empfängt die Anforderung, berechnet die Analyse und gibt den Layer "Polygone" zurück, der das resultierende Einzugsgebiet enthält.
- Aktivieren Sie den Polygon-Layer, um ihn sichtbar zu machen.
Nehmen Sie die Gelegenheit wahr, im Ergebnisfenster das Ergebnis des Tasks zu überprüfen.
Führen Sie optional die Analyse erneut aus, fügen Sie jedoch mehr als 10 Einrichtungen hinzu, um zu prüfen, ob die Service-Funktionen die Anforderung blockieren.