Alle erfolgreichen Werkzeuge weisen Eingabe- und Ausgabeparameter auf. Ohne Eingabeparameter würde das Werkzeug bei jeder Ausführung dieselben Verarbeitungsvorgänge durchführen. Durch die Änderung eines Eingabeparameters wird ein anderes Ergebnis erzeugt. Ausgabeparameter ermöglichen einem Werkzeug die Rückgabe des Ergebnisses. Der Geoverarbeitungsservice, auf dem ein Web-Werkzeug basiert, weist gut definierte Regeln für Eingabe- und Ausgabeparameter auf. Anhand der nachfolgend erläuterten Regeln wird sichergestellt, dass für das Web geeignete Werkzeuge veröffentlicht werden können, wobei Clients wie erwartet mit ihnen interagieren.
Eingabeparameter
Beim Erstellen eines Geoverarbeitungswerkzeugs sind viele Parameterdatentypen verfügbar, die für Eingaben in ein Werkzeug verwendet werden können. Die Möglichkeit, einem bestimmten Datentyp vorzuziehen, kann Benutzern dabei behilflich sein, die erwarteten Eingaben für Ihr Werkzeug bereitzustellen. Einige Datentypen sind speziell und werden in einem Geoverarbeitungsservice nicht unterstützt. Beim Konstruieren eines als Geoverarbeitungsservice zu verwendenden Werkzeugs ist es am besten, wenn das Werkzeug mit unterstützten Datentypen konstruiert wird. Ein Werkzeug, das Sie erstellen und an Kollegen verteilen, kann etwas anders eingerichtet sein als ein Werkzeug, das Sie für die Veröffentlichung als Web-Werkzeug erstellen.
Als Eingabedatentypen in ArcGIS Pro werden die Datentypen in der linken Spalte der folgenden Tabelle unterstützt. Nach ihrer Veröffentlichung werden sie in die entsprechenden Datentypen in ArcGIS Enterprise konvertiert.
Datentyp in ArcGIS Pro | Datentyp in ArcGIS Enterprise |
---|---|
Feature-Set, Feature-Layer | |
Raster-Dataset, Raster-Layer | |
Datensatz, Tabellensicht | |
Datei | |
Boolesch, Double, Long, Zeichenfolge (Text) | |
Datum | |
Lineare Einheit | |
Feld | |
Wertetabelle |
Mit Ausnahme von Wertetabelle unterstützen alle oben aufgeführten Typen mehrere Werte. Unter GPMultivalue finden Sie diesen Datentyp in ArcGIS Enterprise.
Felddatentyp
Zur Verwendung des Datentyps Feld benötigen Sie ArcGIS Pro 2.3 oder höher und ArcGIS Enterprise 10.7 oder höher. Ein Feldparameter mit mehreren Werten wird nicht unterstützt.
Erstellen
Stellen Sie bei Werkzeugen mit einem Eingabefeldparameter sicher, dass der Feldparameter eine Abhängigkeit von einem Parameter, wie zum Beispiel einem Feature-Layer oder einer Tabelle, aufweist.
Wenn Sie ArcGIS Pro 2.3 bis ArcGIS Pro 2.9 verwenden, werden nur Feature-Set- und Feature-Layer-Eingaben als Abhängigkeit unterstützt. Wenn Sie über ArcGIS Pro 3.0 oder höher in ArcGIS Enterprise 11.0 oder höher veröffentlichen, kann der Felddatentyp von allen unterstützen Feature- und Tabellen-Eingabedatentypen abhängen.
Ausführen des Werkzeugs
Wenn Sie das Werkzeug vor der Veröffentlichung in ArcGIS Pro 2.3 bis ArcGIS Pro 2.9 ausführen, wählen Sie für die Feature-Layer, von denen diese Feldparameter abhängen, eine Feature-Class von der Festplatte aus. Verwenden Sie Feature-Layer nicht als Eingabe.
Bei ArcGIS Pro 3.0 oder höher und beim Veröffentlichen in ArcGIS Enterprise 11.0 oder höher gibt es bezüglich der Wahl Ihrer Eingabedaten keine Beschränkungen. Für Layer, von denen ein Feldparameter abhängt, können Sie einen Feature-Layer, eine Feature-Class auf der Festplatte, eine Tabelle oder eine Tabellensicht verwenden.
Veröffentlichen
Wenn Sie die Werkzeugeigenschaften konfigurieren, wird als Eingabemodus eines Feldparameters die Standardoption Auswahlliste festgelegt. Stellen Sie sicher, dass als Eingabemodus des Feldparameters die Option Benutzerdefinierter Wert festgelegt ist. Weitere Informationen zu Eingabemodi beim Freigeben eines Web-Werkzeugs finden Sie unter Inhalt.
Verwendung
Bei Verwendung des Web-Werkzeugs in ArcGIS Pro werden alle anwendbaren Felder nach der Auswahl einer Eingabe in der Dropdown-Liste automatisch ausgefüllt.
Hinweis:
Der Felddatentyp wird in Apps, die in ArcGIS Web AppBuilder oder Map Viewer Classic in Portal for ArcGIS erstellt wurden, nicht unterstützt.
Datentyp "Wertetabelle"
Eine Wertetabelle ist ein flexibles tabellenähnliches Objekt, das aus Zeilen und Spalten besteht, die verschiedene Werte enthalten. Zur Verwendung des Datentyps Wertetabelle benötigen Sie ArcGIS Pro 3.0 oder höher und ArcGIS Enterprise 11.0 oder höher. Weitere Informationen zum Datentyp "Wertetabelle" finden Sie unter ValueTable. Eine Wertetabelle mit mehreren Werten wird nicht unterstützt.
Erstellen
Obwohl die Spaltennamen eines Wertetabellenparameters leer oder doppelt vorhanden sein können, werden eindeutige und nicht leere Spaltennamen empfohlen, wenn Sie Werkzeugparameter entwerfen. Eindeutige und nicht leere Spaltennamen ermöglichen den Benutzern Ihrer Web-Werkzeuge, die verschiedenen Spalten voneinander zu unterscheiden, wenn sie das Web-Werkzeug verwenden, insbesondere wenn mehrere Spalten mit denselben Datentypen vorhanden sind.
Veröffentlichen
Sie können ein Web-Werkzeug mit einem Eingabe- oder Ausgabe-Wertetabellenparameter in einem Python-Skript veröffentlichen. Wenn eine Spalte im Wertetabellenparameter einen Filter aufweist, wird dieser in den Veröffentlichungsprozess aufgenommen.
Verwendung
Sie können Web-Werkzeuge mit einem Wertetabellenparameter in ArcGIS Pro 3.0 oder mit Python verwenden. Der Wertetabellen-Datentyp wird in Apps, die in ArcGIS Web AppBuilder oder Map Viewer Classic in Portal for ArcGIS erstellt wurden, nicht unterstützt.
Nicht unterstützte Eingaben
Wenn der Parameter, den Sie zum Konstruieren des Werkzeugs verwenden, nicht oben aufgeführt ist, wird er für einen Geoverarbeitungsservice nicht unterstützt. Wenn Sie Ihr Web-Werkzeug freigeben, wird ein nicht unterstützter Parameter im Service hart codiert oder in einen unterstützten Typ konvertiert. Das Verständnis dieser beiden Punkte ermöglicht Ihnen die Erstellung eines Werkzeugs und den Nutzern Ihres Werkzeugs dennoch die von Ihnen gewünschte Interaktion einzuräumen. Wie ein nicht unterstützter Parametertyp transformiert wird, hängt vom jeweiligen Parameter ab. Beim Freigeben Ihres Web-Werkzeugs kann die Transformation der Parameter unter Konfigurieren der Werkzeugeigenschaften im Abschnitt Inhalt überprüft werden. Die folgenden Beispiele umfassen einige der gängigen Parameter und deren Änderung für die Verwendung in einem Geoverarbeitungsservice.
Der Feature-Class-Parameter unterstützt beispielsweise Shapefiles und Feature-Classes auf der Festplatte. Ihr Werkzeug verwendet jedoch ggf. den Feature-Layer- oder Feature-Set-Parameter. Der Feature-Layer-Parameter unterstützt die Auswahl aus einer Layer-Liste. Diese Layer-Liste entspricht den Layern Ihrer Karte zum Zeitpunkt der Veröffentlichung. Sie können auch den Feature-Set-Parameter verwenden. Dieser Parameter ermöglicht die interaktive Eingabe von Features. Eine Web-App, die einen Geoverarbeitungsservice mit einem Eingabe-Feature-Set verwendet, ermöglicht dem Benutzer das Erstellen von Features, mit denen der Service interagiert. Diese Konzepte gelten auch für Tabellen und Datensätze. All diese Methoden ermöglichen einem Benutzer die Bereitstellung einer Feature-Eingabe; sie erstellen beim Veröffentlichen jedoch sehr verschiedene Services. Anhand Ihres Workflows können Sie entscheiden, welcher Datentyp am besten geeignet ist.
Zu den häufig verwendeten Parametertypen, die beim Veröffentlichen hart codiert werden, zählen der Workspace- und der Ordnertyp. Ein Workflow kann auf eine .sde-Verbindungsdatei oder einen Ordner zugreifen und für die Elemente im Ordner einen Vorgang ausführen. Workspaces können nicht vom Client in den Geoverarbeitungsservice transportiert werden. Vielmehr werden sie im veröffentlichten Service hart codiert. Diese hart codierte Referenz verweist auf einen Speicherort, wobei diese Elemente je nach Data-Store-Setup referenziert oder kopiert werden. Der veröffentlichte Service verwendet den Workspace und dessen Inhalt weiterhin genauso wie vor der Veröffentlichung. Der einzige Unterschied besteht darin, dass der Benutzer des Service den Workspace nicht ändern kann.
Ausgabeparameter
In einem typischen Workflow weist Ihr Web-Werkzeug mindestens einen Ausgabeparameter auf. Web-Werkzeuge geben ein Ergebnis über einen Ausgabeparameter an den Client zurück. Ohne diesen Parameter erfolgt keine Rückgabe durch den Service. Ähnlich wie bei Eingabeparametern unterstützen Geoverarbeitungsservices bestimmte Datentypen für Ausgabeparameter.
Tipp:
Wenn das Werkzeug, das Sie erstellen, keinen Ausgabeparameter benötigt, da es dazu dient, eine Aktualisierung oder Aktion zu einem vorgegebenen Zeitpunkt durchzuführen, benötigen Sie möglicherweise keinen Geoverarbeitungsservice. In diesem Fall ist ein geplanter Task möglicherweise ein geeigneterer Workflow.Als Ausgabe-Datentypen, die Parameter der Typen "Abgeleitet" oder "Erforderlich" aufweisen können, werden in ArcGIS Pro die Datentypen in der linken Spalte der folgenden Tabelle unterstützt. Nach ihrer Veröffentlichung werden sie in die entsprechenden Datentypen in ArcGIS Enterprise in der rechten Spalte konvertiert.
Datentyp in ArcGIS Pro | Datentyp in ArcGIS Enterprise |
---|---|
Feature-Class | |
Raster-Dataset | |
Tabelle | |
Datei | |
Boolesch, Double, Long, Zeichenfolge (Text) | |
Datum | |
Lineare Einheit | |
Feld | |
Wertetabelle |
Alle oben aufgeführten Typen außer ValueTable unterstützen mehrere Werte. Unter GPMultiValue finden Sie diesen Datentyp in ArcGIS Enterprise.
Hart codierte Ausgaben
Für den Nutzer des Service werden alle Ausgaben statisch. Wenn ein Geoverarbeitungsservice in einer Desktop- oder Web-App verwendet wird, wird niemals ein Wert für den Ausgabeparameter bereitgestellt. Dies ist bei der erstmaligen Ausführung des Service möglicherweise überraschend, da Sie keine Möglichkeit haben, den Ausgabenamen einer Feature-Class festzulegen. Beim Freigeben eines Web-Werkzeugs erfolgt die Ausgabe durch den Prozess, der den Geoverarbeitungsservice veröffentlicht. Der Ausgabename bei der Werkzeugausführung in ArcGIS Pro wird zum Namen des Ausgabeergebnisses des Service. Der Service schreibt die Ausgabe in den Speicher oder in ein Scratchverzeichnis (zum Beispiel Scratch-Ordner-, Scratch-GDB- oder Scratch-Workspace-Umgebungen). Nachdem der Service erfolgreich ausgeführt wurde, gibt er die Ausgabe an den Client zurück.
Nicht unterstützte Ausgabe
Einige Parametertypen werden in einem Geoverarbeitungsservice nicht unterstützt, da sie nicht an den Client zurückgegeben werden können. Beispiele hierfür sind Workspaces und komplexe Typen wie Netzwerk-Datasets und geometrische Netzwerke. Ein Workspace kann beispielsweise ein Ordner, ein Feature-Dataset oder eine .sde-Verbindungsdatei sein. Der Service kann nicht an einen Ordner oder Container mit Elementen zurückgesendet werden. Wenn Ihr Workflow das Zurücksenden mehrerer Elemente oder komplexer Elemente aus mehreren Elementen erfordert, müssen Sie diese Elemente möglicherweise komprimieren und die .zip-Datei zurückgeben. Wenn es Ihr Workflow zulässt, können Sie möglicherweise das Werkzeug Features kopieren verwenden und ein vereinfachtes Feature-Class-Ergebnis zurückgeben.