Die wichtigsten Konzepte für Geoverarbeitungs-Services
Ein Geoverarbeitungs-Service enthält Tasks für die Geoverarbeitung, auf die webfähige Clients zugreifen können. Tasks werden durch das Veröffentlichen von Modell- und Skriptwerkzeugen für die Geoverarbeitung erstellt.
Es gibt zwei Methoden zum Erstellen eines Geoverarbeitungs-Services in ArcGIS Desktop:
- Veröffentlichen einer Geoverarbeitungs-Toolbox. Aus jedem Werkzeug in der Toolbox wird ein Task im Geoverarbeitungs-Service.
- Veröffentlichen eines ArcMap-Dokuments, das Werkzeug-Layer für die Geoverarbeitung enthält. Aus jedem Werkzeug-Layer wird ein Task im Geoverarbeitungs-Service.
Der Zugriff auf Geoverarbeitungs-Services und ihre Tasks erfolgt über das öffentliche Internet und private Intranets. Die Services und Tasks können in ArcGIS Desktop, ArcGIS Explorer sowie in Webanwendungen verwendet werden, z. B. in einer mit ArcGIS Server Manager erstellten Website. Geoverarbeitungs-Services können in ArcGIS Desktop dem ArcToolbox-Fenster als Toolbox hinzugefügt werden. Aus den Tasks werden Werkzeuge in der Toolbox.
In den restlichen Abschnitten dieses Themas werden die wichtigsten Entwurfskonzepte, Regeln und Richtlinien für Geoverarbeitungs-Services und -Tasks behandelt.
Erstellen eines Geoverarbeitungs-Services
Web-Clients sind kompakte Anwendungen – sie können nur Pakete einfacher Daten, z. B. Text, Zahlen und einfache geographische Features, an einen Server senden. Ein Geoverarbeitungs-Service verarbeitet diese einfachen Daten zu aussagekräftigen und nützlichen Informationen, z. B. das voraussichtliche Räumungsgebiet bei einem Chemieunfall, Prognosen zu Gebiet und Stärke eines sich aufbauenden Orkans, eine Karte der Landnutzung in einem benutzerdefinierten Wassereinzugsgebiet, eine Flurstückkarte mit Informationen über die Eigentumsverhältnisse der Vergangenheit oder eine Genehmigung für eine Parade in der Innenstadt. Die Möglichkeiten für diese Services sind unbegrenzt.
Geoverarbeitung bildet die Grundlage für vielfältige und leistungsstarke Werkzeuge, mit denen Sie einen Service erstellen, der Eingabedaten verarbeitet. Wenn Sie gegenwärtig Geoverarbeitung verwenden, wissen Sie möglicherweise bereits, wie mit Modellen und Skripten Werkzeuge erstellt werden. Möglicherweise müssen Sie lernen, wie Sie Werkzeuge so erstellen, dass sie mit möglichst einfachen Eingabedaten für eine möglichst große Auswahl an Clients verwendet werden können.
Angenommen, ein Modell berechnet ein flussaufwärts liegendes Wassereinzugsgebiet aus einer Gruppe von Punkten und extrahiert dann Polygone in dem berechneten Wassereinzugsgebiet. Dieses Modell würde folgende Eingabeparameter aufweisen:
- Ein digitales Höhenmodell (DEM) mit Raster
- Point-Feature-Class
- Eine Polygon-Feature-Class
Dieses Modell eignet sich für ArcGIS Desktop, jedoch nicht für einen Geoverarbeitungs-Service. Es muss wie folgt geändert werden:
- Statt in einem vom Benutzer definierten Untersuchungsgebiet wird es in einem spezifischen Untersuchungsgebiet verwendet. Da das Untersuchungsgebiet des Modells bekannt ist und das Modell für ein bestimmtes DEM verwendet wird, ist das DEM kein Eingabeparameter mehr.
- Clients können als Geoverarbeitungs-Service keine Feature-Classes hochladen. Stattdessen digitalisiert der Benutzer Punkte in der Client-Anwendung, die Zuflusspunkte des Wassereinzugsgebiets darstellen. Der Service fängt diese Punkte mit einer vorab berechneten Fangentfernung, die der Auflösung des DEMs entspricht, am DEM.
- Statt Polygone aus einer Eingabe-Feature-Class zu extrahieren, verwendet das Modell einen bekannten Satz von Daten, z. B. Landnutzungspolygone. Bei der Ausgabe handelt es sich dann um Landnutzungspolygone in dem berechneten Wassereinzugsgebiet. Das Eingabepolygon wird nicht mehr benötigt.
Das geänderte Modell akzeptiert einfache Eingaben und liefert Antworten für eine bestimmte räumliche Abfrage: Welche Landnutzung weist das Untersuchungsgebiet in dem durch diesen Punkten definierten Wassereinzugsgebiet auf? Das Modell wird als Geoverarbeitungs-Service veröffentlicht und auf einer Website für Landverwalter im Untersuchungsgebiet verwendet.
Dies bedeutet nicht, dass Sie mit ArcGIS Server keine generischen Services erstellen können. Der Beispiel-Service Punkte puffern ist ein vollständig generischer Service, der eine beliebige Gruppe von Punkt-Features puffert. ArcGIS Server ist flexibel, und mit fortschrittlichen Verfahren oder benutzerdefinierter Programmierung können Sie generische Services erstellen, die umfangreiche von Benutzern bereitgestellte Datasets verarbeiten. Jedoch sind die meisten Services für bestimmte geographische Gebiete konzipiert, beantworten bestimmte räumliche Abfragen und werden auf kompakten Clients ausgeführt. Mit ArcGIS Server-Geoverarbeitungs-Services lassen sich diese Typen von auf spezifische Zwecke ausgerichteten Services erstellen und ausführen.
Konfigurationen von Geoverarbeitungs-Services
Geoverarbeitungs-Services können durch das Veröffentlichen von zwei unterschiedlichen ArcGIS Desktop-Ressourcen erstellt werden: einer Geoverarbeitungs-Toolbox oder eines ArcMap-Dokuments (.mxd), das Werkzeug-Layer enthält.
- Wenn Sie eine Toolbox veröffentlichen, werden aus allen Werkzeugen in der Toolbox Geoverarbeitungs-Tasks im Geoverarbeitungs-Service.
- Wenn Sie ein ArcMap-Dokument veröffentlichen, werden aus allen Werkzeug-Layern im Kartendokument Geoverarbeitungs-Tasks im Geoverarbeitungs-Service. (Werkzeug-Layer werden erstellt, indem Werkzeuge per Drag & Drop in das ArcMap-Inhaltsverzeichnis eingefügt werden.)
- Wenn Sie ein ArcMap-Dokument erstellen, das Werkzeug-Layer enthält, können Sie festlegen, dass aus dem ArcMap-Dokument ein Karten-Service wird, mit dem die Ausgabe von Tasks dargestellt wird. Ein Karten-Service, der die Ausgabe von Tasks darstellt, wird als Karten-Service des Ergebnisses bezeichnet.
Diese drei Konfigurationen sind in der folgenden Abbildung dargestellt.
Geoverarbeitungs-Service aus einer Toolbox
Wenn Sie eine Toolbox veröffentlichen, werden aus allen Werkzeugen in der Toolbox Geoverarbeitungs-Tasks. Die Ausgabedaten der Tasks werden zurück auf den Client übertragen.
Geoverarbeitungs-Services mit einem Quellkartendokument
Wenn Sie in einer ArcMap-Sitzung Geoverarbeitungswerkzeuge verwendet haben, wissen Sie, dass für Werkzeuge häufig Layer aus dem ArcMap-Inhaltsverzeichnis sowie Daten auf der Festplatte verwendet werden können.
Ebenso können für einen Geoverarbeitungs-Task Layer aus dem zugehörigen Quellkartendokument verwendet werden. In diesem Fall fungiert das Quellkartendokument als Container von Layern. Sie können Layer im Quellkartendokument als Eingabeparameter des Tasks festlegen. In der untenstehenden Grafik ist die Variable Data to extract ein Eingabeparameter, sodass der Benutzer Layer im Quellkartendokument auswählen kann.
Geoverarbeitungs-Tasks können nur auf Layer im zugehörigen Quellkartendokument und nicht auf Layer in anderen Karten-Services oder in der Client-Anwendung zugreifen.
Die Verwendung von Layern aus einem Quellkartendokument erhöht die Performance von Modell- oder Skriptprozessen. In der Abbildung unten wird ein Modell dargestellt, in dem das Netzwerk-Dataset, StreetsNetwork zum Erstellen eines Routenanalyse-Layers verwendet wird. Die Variable StreetsNetwork kann auf einen Layer verweisen (wie in diesem Fall) oder auf ein Dataset auf der Festplatte. Das Öffnen eines Netzwerk-Datasets ist aufwändiger als das Öffnen anderer Arten von Datasets, weil Netzwerk-Datasets verschiedene komplexe Datenstrukturen und Tabellen enthalten, die gelesen und gecacht werden müssen. Wenn der Layer statt des Datasets verwendet wird, erhöht sich die Performance, weil ArcMap das Dataset einmal öffnet, die grundlegenden Eigenschaften des Datasets zwischenspeichert und das Dataset geöffnet lässt. Beim Ausführen des Modells muss das Dataset nicht erneut geöffnet werden, weil es bereits für das Quellkartendokument geöffnet ist – dies bedeutet eine Performance-Steigerung. Wenn hingegen die Variable StreetsNetwork direkt auf das Dataset verweist, wird dieses bei jedem Ausführen des Modells geöffnet – dies bedeutet eine Leistungseinbuße.
Für die Netzwerkanalyse sollte das Netzwerk-Dataset immer als Layer im Quellkartendokument vorhanden sein, und dieser Layer sollte in Modellvariablen verwendet werden. Für andere Arten von Datasets, z. B. Features und Raster, ist die Performance-Steigerung durch die Verwendung von Layern im Quellkartendokument sehr gering.
Geoverarbeitungs-Services mit einem Karten-Service des Ergebnisses
Geoverarbeitungs-Services können mit einem Karten-Service des Ergebnisses ein digitales Kartenbild von Task-Ergebnissen erstellen. Digitale Karten enthalten visuelle Darstellungen geographischer Datasets, die Informationen vermitteln. Digitale Karten werden im Internet als Bilder (z. B. ein JPEG-Dateien) übermittelt. Ein aus einzelnen Bytes zusammengesetztes Kartenbild enthält weitaus mehr durch den Benutzer auswertbare Informationen als unbearbeitete Features in einer Feature-Class. Kartenbilder sind außerdem bequem zu handhaben: Sie lassen sich einfach komprimieren, sie können in verwaltbare Einheiten aufgeteilt werden, und es gibt bewährte Methoden, um sie über das Internet zu übertragen und anzuzeigen.
Kartenbilder werden von einem ArcGIS Server-Karten-Service erstellt und durch das Veröffentlichen eines ArcMap-Dokuments (.mxd) erzeugt. Aufgrund der Eigenschaften von Kartenbildern sollten Sie ein Kartenbild für die Ergebnisse des Geoverarbeitungs-Tasks erstellen und dann das Kartenbild über das Internet übertragen, statt ein oder mehrere Ergebnis-Datasets zu übertragen. Geoverarbeitungs-Services können über einen Karten-Service des Ergebnisses verfügen, der von ArcGIS Server zum Erstellen von Kartenbildern der Ausgabedaten verwendet wird.
Karten-Services des Ergebnisses sollten verwendet, wenn folgende Bedingungen vorliegen:
- Das Ergebnis des Tasks ist ein (potenziell) großes Dataset.
- Der Datentyp der Ausgabe wird nicht vom Client unterstützt (z. B. Raster in ArcGIS Explorer). In diesem Fall zeigen Sie die Ausgabe mit dem Karten-Service des Ergebnisses an.
- Um das Ergebnis des Tasks zu schützen, soll es nur als Karte angezeigt und nicht als Dataset heruntergeladen werden können.
- Es sind komplexe kartografische Daten vorhanden, die nicht vom Client, sondern vom Karten-Service des Ergebnisses dargestellt werden müssen.
Wenn Sie Karten-Services des Ergebnisses verwenden, muss beachtet werden, dass zwei Services vorhanden sind – der Geoverarbeitungs-Service und der Karten-Service des Ergebnisses. Diese beiden Services werden unabhängig voneinander ausgeführt. Beim Ausführen des Tasks führt ArcGIS Server zunächst den Geoverarbeitungs-Task und dann den Karten-Service des Ergebnisses aus, um die Ausgabe des Geoverarbeitungs-Services darzustellen. Aufgrund dieser Ausführungsreihenfolge sind für den Karten-Service des Ergebnisses Datasets auf der Festplatte erforderlich, die vom Geoverarbeitungs-Service erzeugt wurden. Daher muss es sich bei der Ausgabe der Tasks im Geoverarbeitungs-Service um Datasets auf der Festplatte und nicht um Layer oder In-Memory-Datasets handeln.
Grundkarten für den Geoverarbeitungs-Service
Für die meisten Geoverarbeitungs-Tasks benötigt der Benutzer eine Grundkarte als geographischen Bezug. Dabei kann es sich um eine Grundkarte von Straßen, dicht besiedelten Orten, Orten von Interesse oder andere Features handeln.
Wahrscheinlich verwenden Sie für einen Geoverarbeitungs-Service eine bestimmten Grundkarte als Grundlage, die dem Benutzer beim Eingeben von Standorten als Orientierung dient. Beispielsweise kann der Benutzer einen Punkt eingeben, der innerhalb einer Flurstücksgrenze einer bestimmten Stadt liegt. Daher sollten auf der Grundkarte die Flurstücksgrenzen dieser Stadt dargestellt werden. Außerdem kann ein Service möglicherweise nur in einem bestimmten Untersuchungsgebiet verwendet werden, im Gegensatz zu einem Service, der weltweit verwendet werden kann. Das Untersuchungsgebiet kann als Geoverarbeitungsausdehnung angesehen werden, da der Service nur über Daten im Untersuchungsgebiet verfügt.
Häufig wird der Fehler begangen, mit dem Karten-Service des Ergebnisses eine Grundkarte für den Geoverarbeitungs-Service anzuzeigen. Wenn beispielsweise der Benutzer ein Flurstück durch Zeigen und Klicken identifiziert und der Task das Flurstück (durch ein Attribut des Flurstücks symbolisiert) darstellt, liegt es nahe, die Eingabe-Flurstückdaten (die Grundkarte) sowie das identifizierte Flurstück vom Karten-Service des Ergebnisses anzeigen zu lassen. Aus zwei Gründen sollten Sie die Grundkarte nicht mit dem Karten-Service des Ergebnisses anzeigen:
- Wenn der Anwendung ein Karten-Service des Ergebnisses hinzugefügt wird, sind alle Layer im Karten-Service für die Anzeige verfügbar. Zu diesen Layern zählen Geoverarbeitungswerkzeug-Layer zum Darstellen der Ausgabe, Layer, die möglicherweise vertrauliche Daten enthalten, oder Layer, die vom Geoverarbeitungs-Service verwendet werden, für den Benutzer jedoch ohne Nutzen sind (z. B. Werkzeug-Layer).
- Grundkarten unterstützen mehrere Maßstäbe und Auflösungen. Beim Vergrößern und Verkleinern der Grundkarte ändert sich diese. Bei großen Maßstäben werden Details angezeigt, und bei kleinen Maßstäben werden Details in Generalisierungen zusammengefasst (beispielsweise werden Flüsse von Linien-Features bei kleinen Maßstäben in Polygon-Features bei großen Maßstäben geändert). Das Erstellen einer Grundkarte mit mehreren Maßstäben und Auflösungen, die sich schnell darstellen lässt, gehört nicht zu den Tasks eines Karten-Service des Ergebnisses – Karten-Services des Ergebnisses sind zum Darstellen von Ausgaben vorgesehen. Sie müssen Entwurf und Implementierung der Karten-Services für Grundkarten von Entwurf und Implementierung der Karten-Services des Ergebnisses getrennt halten.
Für die bereits beschriebene Anwendung zum Zeigen und Klicken auf ein Flurstück sollten Sie die Flurstückdaten (die Grundkarte) mit einem Karten-Service anzeigen und den Karten-Service des Ergebnisses verwenden, um das Flurstück für die Anzeige zurückzugeben, möglicherweise farbcodiert nach einem bestimmten Attribut. Für beide Karten-Services wird dasselbe Flurstück-Dataset verwendet (dies verursacht keine Konflikte), und Sie trennen das Anzeigen einer Bezugsgrundkarte vom Anzeigen der Ergebnisse.
Ein weiterer beim Entwerfen von Karten-Services zu beachtender Aspekt sind die Eigenschaften des Clients. Bei einer Webanwendung können Sie umfassend steuern, welche Karten- und Geoverarbeitungs-Tasks in der Anwendung verfügbar sind, und Karten-Services des Ergebnisses müssen nicht als Karten-Layer im Inhaltsverzeichnis der Webanwendung vorhanden sein. ArcMap- und ArcGIS Explorer-Clients sind etwas problematischer, weil in der Praxis Benutzer zu jeder Karte bzw. jedem Geoverarbeitungs-Service navigieren können, und dann die Ausdehnung von Grundkarte und Geoverarbeitung eventuell nicht übereinstimmen. Beim Veröffentlichen von Services kann nicht festgelegt werden, dass beim Veröffentlichen eines bestimmten Geoverarbeitungs-Services bestimmte weitere Karten-Services hinzugefügt werden sollen. Sie können jedoch ArcMap-Dokumente (.mxd) oder ArcGIS Explorer-Dokumente (.nmf) verteilen, die die entsprechenden Services enthalten. Sie können auch für die Geoverarbeitungs-Services und -Tasks integrierte Task-Dokumentation bereitstellen, in der die erforderlichen Karten-Services angegeben werden. Alle Clients können auf die Task-Dokumentation zugreifen.
Datentypen und Funktionen des Clients
ArcGIS Explorer ist im Gegensatz zu ArcGIS Desktop eine kompakte Client-Anwendung, d. h., sie weist einen geringen Installationsumfang auf. Bei Webanwendungen handelt es sich um Websites, die mit einem Internetbrowser aufgerufen werden. Browser sind äußerst kompakte (oder schlanke) Clients. Aufgrund ihrer Kompaktheit verfügen diese Clients nicht über das vollständige Sortiment an Eingabe- und Ausgabe-Datentypen, das in ArcGIS Desktop verfügbar ist (andernfalls wäre der Client eine umfassende Anwendung wie ArcGIS Desktop). Beispielsweise unterstützen kompakte Clients keine Raster als Eingabe eines Geoverarbeitungs-Tasks.
Die folgende Tabelle bietet einen Überblick über die wichtigsten Eingabeparameter-Datentypen für die drei Clients.
Eingabeparameter-Datentyp |
Für ArcGIS Desktop-Clients unterstützt? |
Für ArcGIS Explorer-Client unterstützt? |
Für Webanwendungs-Clients unterstützt? |
---|---|---|---|
Ja |
Ja |
Ja |
|
Ja |
Ja |
Ja |
|
Feature-Class |
Nein (Jedoch werden Feature-Class-Eingaben mit dem Datentyp "Feature-Set" indirekt unterstützt.) |
Nein |
Nein |
Tabelle |
Nein (Jedoch werden Tabelleneingaben mit dem Datentyp "Recordset" indirekt unterstützt.) |
Nein |
Nein |
Raster |
Ja |
Nein |
Nein |
Standardtypen (z. B. "Long", "Double", "Boolean", "Date", "Zeichenfolge") und "Lineare Einheit" (z. B. "1000 Meter") |
Ja |
Ja |
Ja |
Datei (z. B. eine ZIP- oder XML- Datei) |
Ja |
Ja |
Ja |
Layer (beliebiger Typ von Layer, z. B. Feature-Layer, Raster-Layer, Network Analyst-Layer) |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Nur Layer im Karten-Service des Ergebnisses oder Quellkartendokument |
Jeder in obiger Liste nicht enthaltene Datentyp wird entweder in den Datentyp "Zeichenfolge" konvertiert oder ist nicht zulässig. In dem Thema Eingabe- und Ausgabedatentypen werden Datentypen für Geoverarbeitungs-Services ausführlicher erläutert.
Mit hoher Wahrscheinlichkeit akzeptieren Ihre vorhandenen Modelle und Skripte Feature-Classes und Tabellen als Eingabe, da es sich bei diesen um die häufigsten Dataset-Typen bei der Geoverarbeitung handelt. Daher müssen diese vorhandenen Modelle und Skripte geändert werden, bevor Sie sie als Geoverarbeitungs-Tasks veröffentlichen. Wenn es sich bei der Eingabe für ein Modell oder Skript um eine Feature-Class handelt, können Sie das Modell bzw. Skript ändern, sodass es stattdessen ein Feature-Set akzeptiert. Wenn für ein Modell eine Tabelle als Eingabe verwendet wird, können Sie das Modell ändern, sodass es stattdessen ein Recordset akzeptiert.
Die folgende Tabelle bietet einen Überblick über die wichtigsten Ausgabeparameter-Datentypen für die drei Clients.
Ausgabeparameter-Datentyp |
Für ArcGIS Desktop-Clients unterstützt? |
Für ArcGIS Explorer-Client unterstützt? |
Für Webanwendungs-Clients unterstützt? |
---|---|---|---|
Feature-Class |
Ja |
Ja |
Ja |
Raster |
Ja |
Nein (Kann nur mithilfe eines Karten-Services des Ergebnisses auf der Karte angezeigt werden) |
Nein (Kann nur mithilfe eines Karten-Services des Ergebnisses auf der Karte angezeigt werden) |
Tabelle |
Ja |
Nein (Services mit einem Ausgabeparameter vom Datentyp "Tabelle" werden in der Liste verfügbarer Tasks nicht angezeigt.) |
Ja |
Standardtypen (z. B. "Long", "Double", "Boolean", "Date", "Zeichenfolge") und "Lineare Einheit" (z. B. "1000 Meter") |
Ja (Wird im Ergebnis des Service auf der Registerkarte "Ergebnisse" des ArcToolbox-Fensters angezeigt) |
Ja (Wird im Ergebnis des Tasks angezeigt) |
Ja |
Datei |
Ja |
Ja |
Ja |
Gleichzeitige Verwendung von Daten – %scratchworkspace%
Ein Geoverarbeitungs-Task kann von mehreren Benutzern gleichzeitig verwendet werden. Bei Daten, die vom Modell oder Skript gelesen werden, treten keine Nebenläufigkeitsprobleme auf – alle gleichzeitigen Benutzer können dieselben Daten lesen. Wenn jedoch Daten von einem Service erstellt oder aktualisiert werden, müssen Sie die mit dem gleichzeitigen Schreiben von Daten verbundenen Probleme kennen.
Erstellen neuer Daten
Von Geoverarbeitungs-Tasks werden normalerweise Zwischendaten und Ausgabedaten erstellt. ArcGIS Server stellt einen Mechanismus bereit, der Nebenläufigkeitsprobleme mit Zwischen- und Ausgabedaten verhindert. Wenn ein Task ausgeführt wird, erstellt ArcGIS Server einen eindeutigen Auftragsordner im Auftragsverzeichnis. Dieser Auftragsordner enthält einen Ordner mit dem Namen "scratch", der wiederum eine File-Geodatabase mit der Bezeichnung "scratch" enthält (siehe Abbildung unten). Nach dem Erstellen dieser Ordnerstruktur legt ArcGIS Server die Umgebungsvariable für den Geoverarbeitungs-Scratch-Workspace auf den Scratch-Ordner (nicht auf die Scratch-Geodatabase) fest. Da der Name der Umgebungsvariablen in Prozentzeichen eingeschlossen wird (%scratchworkspace%), können Modelle und Skripte den Scratch-Workspace leicht erkennen und verwenden. Sie müssen die Zwischendaten und Ausgabedaten entweder in den Scratch-Ordner oder die Scratch-Geodatabase schreiben.
Es gibt zwei Methoden, um sicherzustellen, dass Daten in den Scratch-Ordner oder die Scratch-Geodatabase geschrieben werden:
- Klicken Sie in ModelBuilder mit der rechten Maustaste auf eine beliebige Zwischendatenvariable, und wählen Sie Verwaltet aus.Vorsicht:
Legen Sie keine Ausgabevariablen, sondern nur Zwischenvariablen auf "Verwaltet" fest.
- Verwenden Sie für Pfade die Variablenersetzung (%scratchworkspace%). Beispiele:
%scratchworkspace%/templines.shp %scratchworkspace%/scratch.gdb/outWatershed
Sie können auch Zwischendaten in den Arbeitsspeicher schreiben. Das Schreiben von Daten in den Arbeitsspeicher erfolgt schneller als das Schreiben auf die Festplatte. Wenn Sie Zwischendaten in den Arbeitsspeicher schreiben, muss die Modellvariable nicht als temporär oder verwaltet festgelegt werden, weil die Daten nach dem Ausführen des Tasks gelöscht werden.
Aktualisieren vorhandener Daten
Tasks, die vorhandene Daten aktualisieren, erfordern besondere Beachtung. Beispielsweise kann ein Task in einem Service eine vorhandene Tabelle oder Feature-Class aktualisieren, indem neue Zeilen oder Features hinzugefügt werden (z. B. mit dem Werkzeug Anhängen), oder vorhandene Attribute aktualisieren (z. B. mit dem Werkzeug Feld berechnen). Wenn die Konfiguration des Geoverarbeitungs-Services mehrere gleichzeitige Instanzen (Benutzer) zulässt und mehrere Instanzen ausgeführt werden, kann ein Konflikt zwischen mehreren Instanzen auftreten, die versuchen, dasselbe Dataset zu aktualisieren. In diesem Fall müssen Sie beim Konfigurieren des Service die Anzahl der Instanzen auf eine Instanz begrenzen. Dann stellt ArcGIS Server die Anforderungen in eine Warteschlange, und es kann immer nur eine Instanz auf die Daten zugreifen. Ein weiteres Problem ist das Sperren von Daten: Wenn Sie ein Dataset aktualisieren und das Dataset außerdem ein Layer in einem Karten-Service ist, werden die Daten vom Karten-Service gesperrt, und die Aktualisierung schlägt fehl. Erstellen Sie keine Karten-Services zum Anzeigen von Daten, die von einem anderen Service aktualisiert werden.
Symbolisieren von Daten
Sie verfügen über zwei Möglichkeiten für die Darstellung der Ausgabedaten eines Tasks:
- Die Daten werden vom Client dargestellt.
- Die Daten werden vom Karten-Service des Ergebnisses dargestellt.
Wenn die Ausgabedaten vom Client dargestellt werden, werden zwei Arten von Informationen an den Client gesendet: die Daten und eine Beschreibung der Layer-Darstellung. Die Beschreibung der Layer-Darstellung enthält die Informationen, die Sie im Dialogfeld Eigenschaften eines Layers auf der Registerkarte Symbologie angeben. Diese Informationen geben an, wie Daten gruppiert werden sollen (die Layer-Symbologie) und welche Symbole verwendet werden sollen (Symboltypen). Es werden nur bestimmte Layer-Symbologien und Symboltypen von Clients unterstützt.
Wenn die Daten von einem Karten-Service des Ergebnisses dargestellt werden, werden die Layer-Symbologie und die Symboltypen im entsprechenden Werkzeug-Layer verwendet. Bei Verwendung eines Karten-Services des Ergebnisses können Sie eine beliebige Layer-Symbologie und einen beliebigen Symboltyp verwenden, da ArcMap (auf dem Server ausgeführt) die Daten darstellt und ein Bild der fertigen Karte zurück an den Client sendet. Die Funktionen des Clients wirken sich nicht darauf aus, wie das Ergebnis von ArcMap dargestellt wird.
Weitere Informationen zum Definieren der Ausgabesymbologie für Geoverarbeitungs-Tasks
Validierung
Wenn Sie bereits Geoverarbeitungswerkzeuge in ArcGIS Desktop verwendet haben, haben Sie wahrscheinlich festgestellt, wie die Eingaben von Geoverarbeitungswerkzeugen validiert werden. Ein Beispiel für die Validierung ist eine Liste von Feldern, die sich ändert, wenn eine Eingabe-Tabelle geändert wird.
Weitere Beispiele für die Validierung sind Warnungen () und Fehler (), das Ändern von Standardwerten auf der Grundlage von Eingabedaten sowie das Aktivieren und Deaktivieren von Parametern.
Für Geoverarbeitungs-Tasks erfolgt keine Validierung. Angenommen, Sie erstellen ein Modell mit einem Eingabe-Layer-Parameter und einem Eingabefeldparameter. Die Liste der Felder im Feldparameter hängt vom Wert des Layer-Parameters ab. Wenn Sie in ArcGIS Desktop den Layer ändern, ändert sich die Liste der Felder. Bei einem Task ist dies nicht der Fall:
- Die Liste der Felder besteht aus den Feldern zum Zeitpunkt der Veröffentlichung.
- Wenn der Benutzer des Tasks einen anderen Layer auswählt, wird die Liste der Felder nicht aktualisiert.
Sicherheit
Ihr GIS-Server stellt Investitionen an Arbeit und Ressourcen dar, die geschützt werden müssen. ArcGIS Server enthält Sicherheitsmechanismen, die den Zugriff unbefugter Benutzer auf Services und Anwendungen verhindern können. Sie können mit ArcGIS Server auch Zugriffsebenen für unterschiedliche Gruppen in der Organisation konfigurieren.
Es gibt zwei Eigenschaften von Geoverarbeitungs-Services, die Sicherheit bieten:
- Sie können die Anzahl von Features oder Datensätzen begrenzen, die vom Service zurückgegeben werden. Um das Herunterladen von Features oder Datensätzen durch den Benutzer vollständig zu verhindern, können Sie diesen Grenzwert auf Null festlegen.
- Beim Ausführen eines Geoverarbeitungs-Services schreibt dieser Meldungen, die vom Benutzer angezeigt werden können. Einige dieser Meldungen enthalten Pfade für Daten, und möglicherweise sollen diese Pfade für den Benutzer nicht angezeigt werden. Sie können das Anzeigen von Meldungen für einen Geoverarbeitungs-Service deaktivieren.