Kurzer Überblick über das Erstellen und Freigeben von Geoverarbeitungs-Services

Um einen Geoverarbeitungs-Service zu erstellen, müssen Sie zunächst die Tasks innerhalb des Service erstellen. Beim Erstellen eines Tasks wählen Sie ein Werkzeug aus oder erstellen es, definieren die Eingabe- und Ausgabeparameter des Tasks und geben den Speicherort der vom Task verwendeten Daten an. Diese Schritte werden hier detaillierter dargestellt:

Beispiel: einfaches Angebots- und Nachfragemodell

Unten sehen Sie ein Beispiel für ein mit ModelBuilder erstelltes Werkzeug, das in einen Task umgewandelt werden soll. Das Modell (und der veröffentlichte Task) entsprechen einem ganz einfachen Angebots- und Nachfrage-Zuordnungsmodell. Ein Satz Punktpositionen stellt das Service-Angebot dar (z. B. Notdienststandorte oder Einzelhandelseinrichtungen), und ein weiterer Satz Punkte stellt den Bedarf dar (z. B. Haushalte oder Unternehmen, die diesen Service nutzen). Weisen Sie die Bedarfspunkte der nächstgelegenen Einrichtung zu, erstellen Sie ein Handelsbereichs-Polygon für jede Einrichtung, und fassen Sie den Bedarf innerhalb des Handelsbereichs der Einrichtung zusammen. Die Ausgabe ist eine Gruppe von Polygonen, jeweils ein Polygon für jede eingegebene Einrichtung mit einem Attribut, das den Gesamtbedarf innerhalb des Polygons enthält.

Einfaches Angebots- und Nachfrage-Zuordnungsmodell

In dem oben beschriebenen Modell handelt es sich bei den Variablen Facilities, Demand und Output Thiessen Polygons um Modellparameter (neben ihnen ist ein P angegeben). Diese Modellparameter werden zu den Task-Argumenten, die von den Clients Ihres Tasks bereitgestellt werden, wenn sie den Task ausführen.

Modellparameter werden im Werkzeugdialogfeld angezeigt (siehe unten), wenn das Modellwerkzeug über das Fenster Katalog geöffnet wird.

Über das Katalogfenster geöffnetes Modellwerkzeug zum Öffnen des zugehörigen Werkzeugdialogfeldes

Wenn das Modell als Werkzeug ausgeführt wird, wird ein Ergebnis in das Fenster Ergebnisse geschrieben, wie unten dargestellt. Das Ergebnis enthält alle Informationen, die ArcGIS zur Task-Erstellung benötigt.

Ein Ergebnis enthält alle Informationen, die ArcGIS zur Erstellung des Geoverarbeitungs-Tasks benötigt

HinweisHinweis:
Wenn Sie ein Modell von ModelBuilder aus ausführen, werden keine Ergebnisse erstellt. Sie müssen das Modell über das zugehörige Werkzeugdialogfeld oder das Python-Fenster ausführen, damit ein Ergebnis erzeugt wird.

Ein weiterer wichtiger Aspekt eines Ergebnisses ist, dass es Teil einer ArcMap-Sitzung ist und daher Zugriff auf alle Layer und Tabellen im Inhaltsverzeichnis hat und dass der veröffentlichte Task ebenfalls Zugriff auf diese Layer hat. Das oben dargestellte Inhaltsverzeichnis enthält nur die beiden Eingabe-Layer und die Ausgabe, aber es könnte noch viel mehr Layer enthalten (z. B. einen Layer von Einzelhandelsstandorten), die für Clients des Tasks zur Verfügung gestellt werden können.

Ein Geoverarbeitungs-Service und sein erster Task werden durch Rechtsklick auf ein Ergebnis und Auswahl von Freigeben als > Geoverarbeitungs-Service erstellt. Daraufhin wird der Assistent Als Service freigeben geöffnet, und nachdem Sie eine Serververbindung ausgewählt und einen Namen für den Service festgelegt haben, öffnet sich der Service-Editor. Im Service-Editor definieren Sie die Eigenschaften und Einstellungen des Service sowie die Eigenschaften für einzelne Task-Parameter. In der Abbildung unten sehen Sie die Einstellung des Eingabemodus des Parameters "Facilities". In diesem Beispiel ist der Eingabemodus auf Benutzerdefinierter Wert festgelegt, was bedeutet, dass der Client einen Satz Punkte mit dem Textattribut "FacilityName" bereitstellen soll.

Definieren des Eingabemodus im Service-Editor

Der wichtigste Punkt ist hier, dass der Service-Editor die detaillierte Festlegung der Definition von Eingaben und Ausgaben für den Task ermöglicht. Obwohl dies während des Freigabevorgangs erfolgt, kann es sich darauf auswirken, wie Sie das Werkzeug erstellen.

Beispiel: weitere Eingabemodi

Das Werkzeug Near-Tabelle erstellen ist ein Systemwerkzeug, das die nächstgelegenen Features zu den Eingabe-Features berechnet und die Ergebnisse in einer Tabelle zurückgibt. In diesem Beispiel wird Near-Tabelle erstellen verwendet, um alle Grundschulen, Oberschulen, Feuerwachen, Lebensmittel- und Einzelhandelsgeschäfte innerhalb von fünf Meilen um einen Eingabepunkt herum zurückzugeben. In diesem Szenario werden die Eingabepunkte als zum Verkauf stehende Häuser betrachtet – dies ist ein einfacher Service, der Hauskäufern bei der Bewertung der zu verkaufenden Häuser hilft. Alle Dataset-Eingaben sind Layer im Inhaltsverzeichnis von ArcMap.

Verwendung des Systemwerkzeugs zum Erstellen von Near-Tabellen, um ein Ergebnis zu erstellen und als Service freizugeben

Wenn das Ergebnis als Geoverarbeitungs-Task freigegeben wird, können die Near-Features eine Auswahlliste nahe gelegener Features zum Durchsuchen sein, wie unten dargestellt. Der Client gibt einen oder mehrere dieser Layer an. Beispielsweise kann sich der Client nur für die nahe gelegenen Oberschulen oder Grundschulen interessieren, für die anderen dagegen nicht.

Verwendung einer Auswahlliste als Eingabemodus

Alternativ können die Near-Features festgelegt sein (ein Konstanter Wert). In diesem Fall gibt es kein Argument für den Task mehr und hat der Client keine Kontrolle darüber, welche Near-Features zurückgegeben werden. Er erhält immer eine Tabelle aller nahe gelegenen Features.

Verwendung eines konstanten Wertes als Eingabemodus

Eingabemodi

In den oben angegebenen Beispielen haben Sie gesehen, welche wichtige Rolle der Eingabemodus beim Entwerfen und Erstellen von Tasks spielt. Sie legen den Eingabemodus im Service-Editor fest, da dies nur zu den Geoverarbeitungs-Tasks und nicht zum zugrunde liegenden Werkzeug gehört. Es gibt drei Eingabemodi für Eingabe-Features:

Weitere Informationen zu Eingabemodi und Datentypen

Beispiel: Skriptwerkzeug

Sie können auch mithilfe eines Skriptwerkzeugs einen Task erstellen. Die Abbildung unten zeigt die Eigenschaftenseite eines Skriptwerkzeugs, das dieselbe Aufgabe wie das oben dargestellte einfache Angebots- und Nachfragemodell erfüllt, nur anhand von Python statt ModelBuilder. Es weist dieselben Parameter wie das Modell auf, und es wird dasselbe Verfahren zur Task-Erstellung verwendet: Ausführen des Werkzeugs, um ein Ergebnis zu erzeugen, und Freigeben des Ergebnisses als Geoverarbeitungs-Service.

Eigenschaftenseite des Skriptwerkzeugs
Ein Skriptwerkzeug und seine Parametereigenschaften

Projektdaten und der Datenspeicher

Projektdaten werden in der Geoverarbeitung zur Beschreibung von Eingabedaten verwendet, bei denen es sich nicht um einen Parameter handelt. Die Daten werden also nicht vom Benutzer des Werkzeugs oder des Tasks bereitgestellt, sondern intern vom Werkzeug bzw. Task verwendet. Beispielsweise handelt es sich bei der Variable San Francisco Network Dataset im unten angegebenen Modell um Projektdaten, da sie vom Modell verwendet werden, aber nicht als Parameter angezeigt werden. Im Wesentlichen werden die Projektdaten eines Modells als blaues Oval ohne P daneben dargestellt.

Projektdaten in einem Modell

Projektdaten können auch in Skripts auftreten, wie Sie in dem Python-Codeausschnitt unten sehen.

import arcpy

# The inputPoints variable is considered to be project data 
#   since it is not an input parameter.
#  
inputPoints = r"c:\data\Toronto\residential.gdb\shelters"

arcpy.Buffer_analysis(inputPoints, 'shelterBuffers', '1500 Meters')

Im Service-Editor entspricht ein Eingabedaten-Parameter mit dem Eingabemodus Konstanter Wert den Projektdaten – die Daten werden vom Werkzeug verwendet, aber nicht als Task-Argument angezeigt. Der Eingabemodus Konstanter Wert ist genauso, als ob Sie das P neben der Variable in ModelBuilder entfernen würden.

Projektdaten sind eine wichtige Überlegung, wenn Sie einen Task erstellen und freigeben, da der Server auf die Projektdaten zugreifen muss, wenn der Task ausgeführt wird. Geoverarbeitungs-Services verwenden meist viele verschiedene Daten aus unterschiedlichen Speicherorten. Es kommt durchaus vor, dass Probleme mit dem Service durch Probleme beim Zugriff auf die Projektdaten verursacht werden.

Wenn Sie Ihr Ergebnis veröffentlichen, überprüfen die Veröffentlichungsprozesse alle Modelle und Skripte, die zum Erstellen des Ergebnisses verwendet wurden, und führen eine Projektdatenerkennung durch. Anschließend wird entschieden, wie mit den Daten zu verfahren ist. Es gibt nur zwei Möglichkeiten:

  1. Wenn die Projektdaten im Datenspeicher des Servers gefunden wurden, verwendet der Veröffentlichungs-Task die Daten im Datenspeicher.
  2. Wenn die Projektdaten nicht im Datenspeicher des Servers gefunden wurden, werden sie auf den Server kopiert, an einem bekannten Speicherort platziert, auf den vom Server zugegriffen werden kann (das Eingabeverzeichnis des Servers), und der veröffentlichte Task verwendet die kopierten Daten. Die kopierten Daten werden nicht Teil des Datenspeichers auf dem Server. Wenn Sie den Task erneut veröffentlichen, werden die Daten erneut kopiert.

Datenspeicher

Jede ArcGIS Server-Installation enthält einen Datenspeicher. Der Datenspeicher ist eine Möglichkeit für Sie, dem Server eine Liste von Datenspeicherorten zu übergeben, auf die der Server zugreifen kann. Wenn der Server auf die Daten zugreifen kann, werden die auf Ihrem lokalen Computer gefundenen Daten beim Veröffentlichen nicht auf den Server kopiert.

Weitere Informationen über das Registrieren Ihrer Daten bei ArcGIS Server finden Sie hier:

HinweisHinweis:

Wenn die Option für automatisches Kopieren von Daten beim Veröffentlichen deaktiviert wurde, müssen Sie die Eingabe- und Ausgabedaten für den Task beim Datenspeicher des Servers registrieren. Wenn die Option für automatisches Kopieren der Daten deaktiviert wurde, können die für den Task erforderlichen Daten nicht auf den Server kopiert werden. Sie müssen die Daten beim Datenspeicher des Servers registrieren, das automatische Kopieren von Daten auf den Server aktivieren oder den Task so ändern, dass alle Eingaben benutzerdefiniert sind und alle Ausgaben in den Workspace in_memory geschrieben werden.

Einfache Dateneingabe, einfache Datenausgabe

Ein GIS-Service muss mit dem einfachsten aller Clients arbeiten: einem Webbrowser, der auf einem Computer ausgeführt wird, der nicht über GIS-Funktionen verfügt. Solche einfachen Clients können nur Pakete einfacher Daten an einen Server senden, z. B. Text, Zahlen, Tabellen und einfache geographische Features sowie deren Attribute. Diese Clients kennen keine erweiterten geographischen Datenrepräsentationen, die Sie in ArcGIS for Desktop verwenden, z. B. Netzwerk-Datasets, Topologien, TINs, Beziehungsklassen, geometrische Netzwerke usw. Diese Datasets werden als komplexe Datasets bezeichnet; sie modellieren komplexe Beziehungen zwischen einfachen Features. Im Unterschied zu einfachen Features, Tabellen, Rastern und Dateien können komplexe Datasets nicht über das Internet übertragen werden.

Beachten Sie bei der Task-Erstellung, dass alle Clients, egal ob es sich um Webanwendungen, ArcGIS Explorer oder ArcGIS for Desktop handelt, nur diese einfachen Datasets senden und empfangen (übertragen). Selbst wenn Sie wissen, dass Ihr Service nur von komplexen Clients wie ArcMap verwendet wird, müssen Sie sich bei der Task-Erstellung auf einfache Eingabedaten beschränken.

Weitere Informationen zu übertragbaren und nicht übertragbaren Datasets finden Sie unter Eingabemodi und Parameter-Datentypen.

Zeichnen von Task-Ergebnissen mit einem Karten-Service

Beim Veröffentlichen eines Geoverarbeitungs-Service können Sie das Task-Ergebnis als Karte anzeigen lassen (zusätzlich zu den anderen Task-Ergebnissen). Die Karte wird auf dem Server mithilfe von ArcMap erstellt und dann zurück an den Client übertragen. Die Symbologie, Beschriftung, Transparenz und alle anderen Eigenschaften der zurückgegebenen Karte sind mit dem Ausgabe-Layer in der aktuellen ArcMap-Sitzung identisch. Der Workflow zum Erstellen eines Karten-Service des Ergebnisses ist einfach:

Wenn der Ausgabe-Layer Einzelwerte zeichnet, müssen Sie ggf. <alle anderen Werte> in den Layer-Eigenschaften deaktivieren, um die Neuberechnung der Einzelwerte vor dem Zeichnen festzulegen. Weitere Informationen finden Sie im Thema Erstellen einer Layer-Symbologie-Datei.

Dokumentieren von Tasks

Es ist wichtig, eine gute Dokumentation Ihrer Services und Tasks bereitzustellen, wenn der Service von einem möglichst breiten Publikum entdeckt, verstanden und genutzt werden soll.

Eine gute Dokumentation beginnt mit dem Werkzeug, das Sie verwendet haben, um das zu veröffentlichende Ergebnis zu erstellen. Jedes Werkzeug im System weist eine Elementbeschreibung auf, die Sie anzeigen und bearbeiten können, indem Sie mit der rechten Maustaste im Fenster Katalog klicken und die Elementbeschreibung aufrufen.

Weitere Informationen zur Dokumentation von Geoverarbeitungs-Services und Tasks

Einstellungen für die Geoverarbeitungsumgebung

Umgebungseinstellungen für die Geoverarbeitung sind zusätzliche Parameter, mit denen die Ergebnisse eines Werkzeugs beeinflusst werden können. Sie unterscheiden sich von den regulären Werkzeugparametern darin, dass sie in den Dialogfeldern der Werkzeuge (mit bestimmten Ausnahmen) nicht angezeigt werden. Vielmehr handelt es sich um Werte, die einmalig in einem eigenen Dialogfeld festgelegt und dann von Werkzeugen während der Ausführung verwendet werden.

Hierarchie der Umgebungseinstellungen

Es gibt mehrere Möglichkeiten zum Ändern der Umgebungseinstellungen; der Ort, an dem Sie die Änderungen vornehmen, kann als Ebene in einer Hierarchie betrachtet werden. Umgebungseinstellungen werden von Ebene zu Ebene weitergegeben. Auf jeder Ebene können Sie die nach unten übergebenen Umgebungseinstellungen mit einer anderen Einstellung überschreiben.

  • Anwendungsebene – Klicken Sie im Hauptmenü auf Geoverarbeitung > Umgebung. Die hier vorgenommenen Änderungen wirken sich auf die Ausführung aller Werkzeuge aus.
  • Werkzeugebene – Öffnen Sie das Werkzeugdialogfeld, und klicken Sie auf die Schaltfläche Umgebung. Dadurch wird das Dialogfeld Umgebungseinstellungen geöffnet. Alle Umgebungseinstellungen sind – unabhängig davon, ob das Werkzeug sie berücksichtigt oder nicht – im Dialogfeld Umgebungseinstellungen aufgelistet. Informationen zum Bestimmen der Umgebungen, die von einem Werkzeug berücksichtigt werden, finden Sie in der Referenzseite des Werkzeugs. Alle hier vorgenommenen Einstellungen haben Vorrang vor den auf Anwendungsebene festgelegten Einstellungen. Diese Einstellungen gelten nur für die Ausführung des Werkzeugs. Die Einstellungen auf Anwendungsebene werden nicht überschrieben.
  • Modell-, Modellprozess- oder Skriptebene – In einem Modell oder Skript haben Sie umfangreichere Kontrolle über die Umgebungseinstellungen. Sie können die Umgebung für ein bestimmtes Werkzeug, einen Werkzeugsatz oder für jedes Werkzeug im Modell oder Skript ändern. Auf dieser Ebene vorgenommene Einstellungen haben Vorrang vor allen auf Werkzeug- oder Anwendungsebene festgelegten Einstellungen.

Umgebungseinstellungen werden in einem Ergebnis gespeichert

Ein Ergebnis im Fenster Ergebnisse speichert alle Umgebungseinstellungen, die auf Anwendungs- oder Werkzeugebene vorgenommen wurden. Wenn der Task auf dem Server ausgeführt wird, werden die Umgebungseinstellungen im Ergebnis während der Task-Ausführung verwendet. Die auf Modell- oder Skriptebene vorgenommenen Einstellungen werden jedoch nicht im Ergebnis angezeigt, sondern während der Task-Ausführung verwendet. Sie können es sich so vorstellen, dass die Umgebungseinstellungen im Ergebnis an das Modell- oder Skriptwerkzeug übergeben werden, wo die Einstellungen nach Belieben überschrieben werden können.

Verwandte Themen

5/9/2014