Eingabe- und Ausgabeparameter

Ein Web-Werkzeug muss über Ein- und Ausgabeparameter verfügen. 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.

Eingabeparameter

Beim Erstellen eines Web-Werkzeugs 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 ProDatentyp in ArcGIS Enterprise

Feature-Set, Feature-Layer

GPFeatureRecordSetLayer

Raster-Dataset, Raster-Layer

GPRasterDataLayer

Datensatz, Tabellensicht

GPRecordSet

Datei

GPDataFile

Boolean, Double, Long, String

GPBoolean, GPDouble, GPLong, GPString

Datum

GPDate

Lineare Einheit

GPLinearUnit

Flächeneinheit

GPArealUnit

Feld

Feld

Wertetabelle

GPValueTable

Kombiniert

GPComposite

Raumbezug, Koordinatensystem

GPSpatialReference, GPCoordinateSystem

Ausdehnung, Envelope

GPExtent, GPEnvelope

Zeichenfolge ausgeblendet, SQL-Ausdruck

GPStringHidden

SQL-Ausdruck

GPSQLExpression

Mit Ausnahme des Datentyps Wertetabelle unterstützen alle Datentypen in der obigen Tabelle Parameter mit mehreren Werten (GPMultiValue) und Verbund-Parameter (GPComposite).

Felddatentyp

Zur Verwendung des Datentyps Feld nutzen Sie ArcGIS Pro 2.3 oder höher und ArcGIS Enterprise 10.7 oder höher.

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.

Verwenden

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 nutzen 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 direkt mit ArcGIS Pro 3.1 oder höher in ArcGIS Enterprise 11.0 oder höher veröffentlichen. Wenn Sie in ArcGIS Enterprise 10.9.1 oder früher veröffentlichen, wird beim Veröffentlichen der Eingabemodus des Wertetabellenparameters durch einen konstanten Wert ersetzt. Beim Veröffentlichen mit Python-Skript können Sie ArcGIS Pro 3.0 oder höher verwenden. Wenn eine Spalte im Wertetabellenparameter einen Filter aufweist, wird dieser in den Veröffentlichungsprozess aufgenommen.

Verwenden

Sie können Web-Werkzeuge mit einem Wertetabellenparameter in ArcGIS Pro oder mit Python verwenden, wenn ArcGIS Pro 3.0 oder eine höhere Version verwendet wird. Der Wertetabellen-Datentyp wird in Apps, die in ArcGIS Web AppBuilder oder Map Viewer Classic in Portal for ArcGIS erstellt wurden, nicht unterstützt.

Verbund-Datentyp

In ArcGIS Pro gibt es keinen echten Verbund-Datentyp. Ein Verbund-Datentyp ist einfach ein Name für einen Parameter mit mehreren Datentypen. Nach der Veröffentlichung als Web-Werkzeug kann der Datentyp in GPComposite konvertiert werden, der ein realer Datentyp auf dem Server ist. Um einen Parameterdatentyp in einen Verbund-Datentyp zu konvertieren, verwenden Sie ArcGIS Pro 3.2 oder höher und ArcGIS Enterprise 11.2.

Erstellen

Auch wenn der Parameter vor der Veröffentlichung verschiedene Datentypen enthalten kann, müssen Sie sicherstellen, dass jeder Datentyp konvertiert werden kann, und prüfen, in welchen Datentyp er nach der Veröffentlichung konvertiert wird (basierend auf der Tabelle der Eingabeparameter). Sie können den Filter "Verbund" verwenden, um die Werte für jeden Subtype festzulegen. Der Filter wird bei der Veröffentlichung als Web-Werkzeug berücksichtigt. Sie können einen mehrwertigen Verbund definieren, aber Sie können keinen Verbund haben, der einen anderen mehrwertigen, Verbund- oder ValueTable-Datentyp enthält, wenn Sie ihn später als Verbund veröffentlichen möchten.

Veröffentlichen

Wenn Sie über ArcGIS Pro 3.2 veröffentlichen, müssen Sie das Kontrollkästchen Datentyp als Verbund beibehalten auf der Registerkarte Inhalt des Freigabebereichs verwenden. Verwenden Sie diese Option, um zu bestimmen, ob der veröffentlichte Web-Werkzeug-Parameterdatentyp ein Verbund ist. Das Kontrollkästchen ist nur bei Veröffentlichung in ArcGIS Enterprise 11.2 oder höher verfügbar.

Wenn die Veröffentlichung mit einem nicht aktivierten oder inaktiven Kontrollkästchen oder mit einem Python-Skript erfolgt, ist der Web-Werkzeug-Datentyp des Parameters kein Verbund. Er ist ein einzelner konvertierter Datentyp, der auf dem Wert basiert, der beim Ausführen des Werkzeugs vor der Veröffentlichung angegeben wurde. Wenn die Veröffentlichung mit einem aktivierten Kontrollkästchen erfolgt, ist der Web-Werkzeug-Datentyp des Parameters ein Verbund. Es werden alle verfügbaren Eingabemodus-Optionen für die Verbund-Datentypen angezeigt. Eine der Optionen ist der Mischmodus, bei dem Sie für jeden Datentyp des Parameters einen anderen Eingabemodus auswählen können. Der Mischmodus ist nicht verfügbar, wenn der Datentyp ein mehrwertiger Verbund ist oder wenn es einen Filter auf oberster Ebene gibt, der für alle Datentypen des Parameters gilt.

Nicht alle Verbund-Datentypen können während der Veröffentlichung in die unterstützten Datentypen auf dem Server konvertiert werden. Wenn ein Datentyp nicht in einen serverseitig unterstützten Datentyp konvertiert werden kann, wird dieser Datentyp ignoriert oder zu einem GPString-Datentyp. Wenn mehrere Datentypen im Verbund dieselben zugehörigen konvertierten Datentypen haben, wird jeder von ihnen einzeln in diesen Datentyp konvertiert. Wenn Sie beispielsweise einen Eingabeparameter mit den Datentypen "LAS-Dataset", "Feature-Set" und "Feature-Layer" haben, wird er nach der Veröffentlichung zu einem Verbund aus GPFeatureRecordSetLayer und einem anderen GPFeatureRecordSetLayer, da "LAS-Dataset" kein unterstützter Datentyp ist, und sowohl der Feature-Set- als auch der Feature-Layer-Datentyp werden auf dem Server in denselben Typ konvertiert.

Verwenden

Sie können Web-Werkzeuge mit einem Verbund-Parameter in ArcGIS Pro 3.2 oder mit einem Python-Skript verwenden. Wenn Sie eine frühere Version von ArcGIS Pro verwenden, kann nur der Datentyp des bereitgestellten Wertes für den Parameter vor der Veröffentlichung verwendet werden. Der Komposit-Datentyp wird in Apps, die in ArcGIS Web AppBuilder oder Map Viewer Classic in Portal for ArcGIS erstellt wurden, nicht unterstützt.

Bei Verwendung von ArcGIS Pro 3.2 können Sie ein Web-Werkzeug mit allen unterstützten Datentypen des Verbund-Parameters verwenden. Da es einige nicht unterstützte Typen auf dem Server gibt, können die Datentypen, die Sie verwenden können, weniger sein als die vor der Veröffentlichung. Um die unterstützten Datentypen des Parameters zu überprüfen, wählen Sie das Web-Werkzeug im Bereich Inhalt von Katalog, klicken Sie mit der rechten Maustaste auf den Task, und wählen Sie Task-Informationen, um den REST-Endpunkt zu öffnen. Die unterstützten Datentypen eines GPComposite-Parameters befinden sich unter dem Attribut Parameter-Infos.

Wenn die Filter für jeden Datentyp vor der Veröffentlichung festgelegt werden, werden sie bei der Ausführung des Web-Werkzeugs beachtet. Wenn es mehrere konvertierte Datentypen mit demselben Namen gibt und jeder seinen eigenen Filter hat, gleicht das Web-Werkzeug den ersten verfügbaren Wert mit jedem Filter ab.

Datentyp "Flächeneinheit"

Für die Verwendung des Datentyps Flächeneinheit veröffentlichen Sie Ihr Web-Werkzeug aus ArcGIS Pro 3.3 oder höher in ArcGIS Enterprise 11.3 oder höher. Sie haben auch die Möglichkeit, den Datentyp als eine Zeichenfolge beizubehalten. Wenn Sie das GeoprocessingSharingDraft-Objekt zum Bereitstellen und Veröffentlichen des Service verwenden, veröffentlichen Sie aus ArcGIS Pro 3.4 oder höher. Sie haben auch die Möglichkeit, den Datentyp als eine Zeichenfolge beizubehalten, indem Sie die Eigenschaft GPStringValues beim Erstellen eines GeoprocessingSharingDraft-Objekts verwenden.

Datentypen "Raumbezug", "Koordinatensystem", "Ausdehnung", "Envelope", "Zeichenfolge ausgeblendet" und "SQL-Ausdruck"

Für die Verwendung der Datentypen Raumbezug, Koordinatensystem, Ausdehnung, Envelope, Zeichenfolge ausgeblendet und SQL-Ausdruck veröffentlichen Sie Ihre Web-Werkzeuge aus ArcGIS Pro 3.4 oder höher in ArcGIS Enterprise 11.4 oder höher. Sie haben auch die Möglichkeit, den Datentyp als eine Zeichenfolge beizubehalten. Wenn Sie das geoprocessingSharingDraft-Objekt zum Bereitstellen und Veröffentlichen des Service verwenden, veröffentlichen Sie aus ArcGIS Pro 3.4 oder höher. Außerdem haben Sie die Möglichkeit, es als Zeichenfolgedatentyp beizubehalten, indem Sie die Eigenschaft GPStringValues beim Definieren eines geoprocessingSharingDraft-Objekts verwenden.

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 Bearbeitung 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.

Unterstützte Ausgabe-Datentypen

Datentyp in ArcGIS ProDatentyp in ArcGIS Enterprise

Feature-Class

GPFeatureRecordSetLayer

Raster-Dataset

GPRasterDataLayer

Tabelle

GPRecordSet

Datei

GPDataFile

Boolean, Double, Long, String

GPBoolean, GPDouble, GPLong, GPString

Datum

GPDate

Lineare Einheit

GPLinearUnit

Flächeneinheit

GPArealUnit

Feld

Feld

Wertetabelle

GPValueTable

Kombiniert

GPComposite

Raumbezug, Koordinatensystem

GPSpatialReference, GPCoordinateSystem

Ausdehnung, Envelope

GPExtent, GPEnvelope

Zeichenfolge ausgeblendet

GPStringHidden

SQL-Ausdruck

GPSQLExpression

Alle oben aufgeführten Ausgabe-Datentypen außer ValueTable unterstützen mehrere Werte. Unter GPMultiValue finden Sie Informationen zu diesem Datentyp in ArcGIS Enterprise.

Mit Ausnahme von Wertetabelle können alle Typen aus der vorherigen Tabelle Teil eines Verbund-Parameters sein. Es kann einen Verbund-Parameter geben, der mehrere Werte unterstützt. Unter GPComposite finden Sie Informationen zu diesem Datentyp in ArcGIS Enterprise.

Mit Ausnahme des Datentyps Wertetabelle unterstützen alle Ausgabe-Datentypen in der obigen Tabelle Parameter mit mehreren Werten (GPMultiValue) und Verbund-Parameter (GPComposite).

Verbund-Datentyp

Wenn Sie über ArcGIS Pro 3.2 veröffentlichen, müssen Sie das Kontrollkästchen Datentyp als Verbund beibehalten auf der Registerkarte Inhalt des Freigabebereichs verwenden. Das Kontrollkästchen ist nur bei Veröffentlichung in ArcGIS Enterprise 11.2 oder höher verfügbar.

Wenn die Veröffentlichung mit einem nicht aktivierten oder inaktiven Kontrollkästchen oder mit einem Python-Skript erfolgt, ist der Web-Werkzeug-Datentyp des Parameters kein Verbund. Er ist der einzelne konvertierte Datentyp, der auf dem Wert basiert, der beim Ausführen des Werkzeugs vor der Veröffentlichung angegeben wurde. Wenn die Veröffentlichung mit einem aktivierten Kontrollkästchen erfolgt, ist der Web-Werkzeug-Datentyp des Parameters ein Verbund.

Nicht alle Verbund-Datentypen des Parameters können während der Veröffentlichung in die unterstützten Datentypen auf dem Server konvertiert werden. Wenn ein Datentyp nicht in einen serverseitig unterstützten Datentyp konvertiert werden kann, wird dieser Datentyp ignoriert oder zu GPString. Wenn mehrere Datentypen im Parameter dieselben zugehörigen konvertierten Datentypen haben, wird jeder von ihnen einzeln in diesen Datentyp konvertiert.

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.

Datentypen "Raumbezug", "Koordinatensystem", "Ausdehnung", "Envelope", "Zeichenfolge ausgeblendet" und "SQL-Ausdruck"

Für die Verwendung der Datentypen Raumbezug, Koordinatensystem, Ausdehnung, Envelope, Zeichenfolge ausgeblendet und SQL-Ausdruck veröffentlichen Sie Ihre Web-Werkzeuge aus ArcGIS Pro 3.4 oder höher in ArcGIS Enterprise 11.4 oder höher. Sie haben auch die Möglichkeit, den Datentyp als eine Zeichenfolge beizubehalten. Wenn Sie das geoprocessingSharingDraft-Objekt zum Bereitstellen und Veröffentlichen des Service verwenden, veröffentlichen Sie aus ArcGIS Pro 3.4 oder höher. Außerdem haben Sie die Möglichkeit, es als Zeichenfolgedatentyp beizubehalten, indem Sie die Eigenschaft GPStringValues beim Definieren eines geoprocessingSharingDraft-Objekts verwenden.

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 bestehend aus mehreren Elementen erfordert, müssen Sie den Ausgabeparametertyp eventuell in "Datei" ändern, diese Elemente 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.