Todas las herramientas que funcionan correctamente tienen parámetros de entrada y salida. Sin parámetros de entrada, la herramienta siempre realizaría el mismo procesamiento en cada ejecución. Cambiar el valor de un parámetro de entrada producirá un resultado diferente. Los parámetros de salida permiten que una herramienta devuelva el resultado. El servicio de geoprocesamiento en el que se basa una herramienta web tiene reglas bien definidas tanto en los parámetros de entrada como en los de salida. Estas reglas, que se explican a continuación, garantizan que se pueden publicar herramientas adecuadas para la web, donde los clientes interactuarán con ellas de una forma predecible.
Parámetro de entrada
Cuando se crea una herramienta de geoprocesamiento, hay muchos tipos de datos de parámetros que se pueden usar para proporcionar entradas a una herramienta. Elegir un tipo de datos en lugar de otro puede ayudar a quienes utilizan la herramienta a proporcionar las entradas esperadas a la herramienta. Algunos tipos de datos son especializados y no son compatibles con un servicio de geoprocesamiento. Cuando se crea una herramienta que se debe usar como servicio de geoprocesamiento, es mejor que se haga usando tipos de datos compatibles. Una herramienta que se crea y se distribuye a otros usuarios puede ser ligeramente diferente que una herramienta que se crea para publicarla como herramienta web.
Los tipos de datos de entrada admitidos en ArcGIS Pro pueden ser cualquiera de los siguientes tipos de datos de la columna izquierda de la tabla siguiente. Una vez publicados, se convertirán a los correspondientes tipos de datos en ArcGIS Enterprise.
Tipo de datos en ArcGIS Pro | Tipo de datos en ArcGIS Enterprise |
---|---|
Conjunto de entidades, Capa de entidades | |
Dataset ráster, Capa ráster | |
Conjunto de registros, Vista de tabla | |
Archivo | |
Booleano,Doble,Largo,Cadena de caracteres (texto) | |
Fecha | |
Unidad lineal | |
Campo | |
Tabla de valores | |
Compuesta |
A excepción de Tabla de valores, todos los tipos de datos de la tabla anterior son compatibles con valores múltiples. Consulte GPMultivalue para ese tipo de datos en ArcGIS Enterprise.
A excepción de Tabla de valores, todos los tipos de la tabla anterior pueden formar parte de un parámetro compuesto. Un parámetro compuesto puede admitir múltiples valores. Vea GPComposite para ese tipo de datos en ArcGIS Enterprise.
Tipo de datos del campo
Para usar el tipo de datos Campo, necesita ArcGIS Pro 2.3 o versiones posteriores y ArcGIS Enterprise 10.7 o versiones posteriores.
Creación
En el caso de herramientas con un parámetro de campo de entrada, asegúrese de que el parámetro de campo depende de otro parámetro, con una capa de entidades o una tabla.
Si utiliza de ArcGIS Pro 2.3 a ArcGIS Pro 2.9, solo se admiten como dependencias el conjunto de entidades y la entrada de capa de entidades. Si va a publicar desde ArcGIS Pro 3.0 o versiones posteriores a ArcGIS Enterprise 11.0 o versiones posteriores, el tipo de datos de campo puede depender de todos los tipos de datos de entrada de tablas y entidades compatibles.
Ejecutar la herramienta
Cuando ejecute la herramienta antes de publicar entre ArcGIS Pro 2.3 y ArcGIS Pro 2.9, para las capas de entidades de las que dependen dichos parámetros de campo, seleccione una clase de entidad del disco. No use una capa de entidades como entrada.
En ArcGIS Pro 3.0 o versiones posteriores y al publicar en ArcGIS Enterprise 11.0 o versiones posteriores, no hay restricciones sobre cómo elegir los datos de entrada. Puede utilizar una capa de entidades, una clase de entidad en el disco, una tabla o una vista de tabla para las capas de las que depende un parámetro de campo.
Publicación
Al configurar las propiedades de la herramienta, el modo de entrada de un parámetro de campo será la opción de Lista de selección predeterminada. Asegúrese de que el modo de entrada del parámetro de campo esté establecido en la opción Valor definido por el usuario. Para obtener más información sobre modos de entrada al compartir una herramienta web, consulte Contenido.
Uso
Al usar la herramienta web en ArcGIS Pro, todos los campos aplicables se rellenarán automáticamente en la lista desplegable después de que seleccione una entrada.
Nota:
El tipo de datos de campo no se admite en aplicaciones creadas en ArcGIS Web AppBuilder o Map Viewer Classic en Portal for ArcGIS.
Tipo de datos de la Tabla de valores
Una tabla de valores es un objeto flexible similar a una tabla, formado por filas y columnas que contienen varios valores. Para usar el tipo de datos Tabla de valores, necesita ArcGIS Pro 3.0 o versiones posteriores y ArcGIS Enterprise 11.0 o versiones posteriores. Para obtener más información sobre la tabla de valores, consulte ValueTable. No se admiten valores múltiples de una tabla de valores.
Creación
Aunque los nombres de columna de un parámetro de tabla de valores pueden estar vacíos o duplicados, se recomiendan los nombres de columna únicos y no vacíos al diseñar los parámetros de la herramienta. Los nombres de columna únicos y no vacíos permiten a los usuarios de la herramienta web distinguir distintas columnas cuando utilizan la herramienta web, especialmente cuando hay varias columnas con los mismos tipos de datos.
Publicación
Puede publicar una herramienta web con un parámetro de tabla de valores de entrada o salida utilizando ArcGIS Pro 3.1 o posterior para ArcGIS Enterprise 11.0 o posterior. Si publica en ArcGIS Enterprise 10.9.1 o anterior, el modo de entrada del parámetro de tabla de valores se cambia a constante durante la publicación. Si va a publicar con un script de Python, puede utilizar ArcGIS Pro 3.0 o posterior. Si una columna del parámetro de la tabla de valores tiene un filtro, el proceso de publicación incluirá el filtro.
Uso
Puede consumir herramientas web con un parámetro de tabla de valores mediante ArcGIS Pro o con Python si la versión es ArcGIS Pro 3.0 o posterior. El tipo de datos de la tabla de valores no es compatible con aplicaciones creadas en ArcGIS Web AppBuilder o Map Viewer Classic en Portal for ArcGIS.
Tipo de datos Compuesto
En ArcGIS Pro no existe un verdadero tipo de datos compuesto; un tipo de datos compuesto es simplemente un nombre para un parámetro con múltiples tipos de datos. Tras la publicación como herramienta web, el tipo de datos puede convertirse a GPComposite, que es un tipo de datos real en el servidor. Para convertir un tipo de datos de parámetro a compuesto, se requiere ArcGIS Pro 3.2 o posterior y ArcGIS Enterprise 11.2.
Creación
Aunque puede haber tipos de datos diferentes en el parámetro antes de publicar, asegúrese de que cada tipo de datos pueda convertirse y verifique a qué tipo de datos se convertirá tras la publicación en función de la tabla parámetros de entrada. Puede usar el filtro Compuesto para establecer los valores para cada subtipo. El filtro se respetará durante la publicación como herramienta web. Puede definir un valor múltiple para un compuesto, pero un compuesto no puede contener otro tipo de datos multivalor, compuesto o ValueTable si desea publicarlo como compuesto posteriormente.
Publicación
Al publicar con ArcGIS Pro 3.2, marque la casilla Mantener tipo de datos como Compuesto en la pestaña Contenido del panel compartido. Use esta opción para determinar si el tipo de datos del parámetro de la herramienta web publicado es compuesto. Esta casilla solo está activa al publicar en ArcGIS Enterprise 11.2 o posterior.
Si se publica con la casilla inactiva o no marcada, o con un script de Python, el tipo de datos de la herramienta web del parámetro no es compuesto. Es un tipo de datos compuesto único basado en el valor proporcionado al ejecutar la herramienta antes de publicar. Al publicar con la casilla marcada, el tipo de datos de la herramienta web del parámetro será compuesto. Se muestran todas las opciones de modo de entrada disponibles para los tipos de datos compuestos. Una de las opciones es el modo mezcla, en el que puede seleccionar un modo de entrada diferente para cada tipo de datos del parámetro. El modo mezcla no está disponible si el tipo de datos es un compuesto multivalor o si hay un filtro de nivel alto que se aplica a todos los tipos de datos para el parámetro.
Durante la publicación, no todos los tipos de datos compuestos pueden convertirse a los tipos de datos admitidos en el servidor. Si un tipo de datos no puede convertirse en un tipo de datos admitido en el lado del servidor, ese tipo de datos se eliminará o se convertirá en un tipo de datos GPString. Si varios tipos de datos en el compuesto tienen los mismos tipos de datos correspondientes, cada uno de ellos se convertirá en ese tipo de datos de forma individual. Por ejemplo, si tiene un parámetro de entrada con los tipos de datos dataset LAS, conjunto de entidades y capa de entidades, se convertirá en un compuesto de GPFeatureRecordSetLayer y otro GPFeatureRecordSetLayer una vez publicado, puesto que dataset LAS no es un tipo de datos admitido y los tipos de datos conjunto de entidades y capa de entidades se convierten al mismo tipo en el servidor.
Uso
Puede usar herramientas web con un parámetro compuesto mediante ArcGIS Pro 3.2 o con un script de Python. Si está usando una versión anterior de ArcGIS Pro, solo puede usarse el tipo de datos del valor proporcionado para el parámetro antes de la publicación. El tipo de datos compuesto no es compatible con aplicaciones creadas en ArcGIS Web AppBuilder o Map Viewer Classic en Portal for ArcGIS.
Si está usando ArcGIS Pro 3.2, puede usar una herramienta web con todos los tipos de datos admitidos del parámetro compuesto. Puesto que hay algunos tipos no admitidos en el servidor, es posible que los tipos de datos que puede usar sean menos de los que había disponibles antes de la publicación. Para comprobar los tipos de datos admitidos del parámetro, seleccione la herramienta web del panel Contenido en Catálogo, haga clic con el botón derecho en la tarea y seleccione Información de la tarea para abrir el extremo REST. Los tipos de datos admitidos de un parámetro GPComposite se encuentran bajo el atributo de información de parámetro.
Si se establecen filtros para cada tipo de datos antes de la publicación, se respetarán al ejecutar la herramienta web. Si existen varios tipos de datos convertidos con el mismo nombre y cada uno tiene su propio filtro, al consumir la herramienta web se asignará a cada filtro el valor disponible.
Entradas incompatibles
Si el parámetro que está usando para crear la herramienta no aparece en la lista anterior, no es compatible con un servicio de geoprocesamiento. Al compartir su herramienta web, un parámetro no compatible se codificará en el servicio o se convertirá en un tipo compatible. Entender estos dos puntos le permitirá crear una herramienta y los consumidores de esta podrán tener con ella la interacción deseada. La manera en que se transforma un tipo de parámetro no compatible depende del parámetro. Al compartir la herramienta web, la transformación del parámetro se puede examinar mediante Configurar las propiedades de la herramienta en la sección Contenido. Los siguientes ejemplos incluyen algunos de los parámetros más habituales y la forma de modificarlos para que funcionen en un servicio de geoprocesamiento.
Por ejemplo, el parámetro de clase de entidad admite tanto shapefiles como clases de entidad en el disco. Sin embargo, la herramienta podría usar el parámetro de capa de entidades o de conjunto de entidades. El parámetro de capa de entidades admite la selección desde una lista de capas. La lista de capas coincidirá con las capas del mapa en el momento de la publicación. Alternativamente, puede usar el parámetro de conjunto de entidades. Este parámetro permite la entrada interactiva de entidades. Una aplicación web que usa un servicio de geoprocesamiento con un conjunto de entidades de entrada permitirá al usuario crear entidades con las que interactuará el servicio. Estos conceptos también son válidos para las tablas y los conjuntos de registros. Estos métodos permiten a un usuario suministrar una entrada de entidad; sin embargo crean servicios muy diferentes al publicar. El flujo de trabajo ayudará a decidir qué tipo de datos es más apropiado.
Dos tipos de parámetros muy utilizados que se codifican al publicar son los tipos de espacio de trabajo o carpeta. Un flujo de trabajo puede tomar una carpeta o un archivo de conexión de .sde y llevar a cabo una operación en los elementos de la carpeta. Un espacio de trabajo no se puede transportar al servicio de geoprocesamiento desde el cliente. En cambio, se codifica en el servicio publicado. Esta referencia codificada apunta a una ubicación con estos elementos referenciados o copiados dependiendo de la configuración del data store. El servicio publicado seguirá usando el espacio de trabajo y su contenido de la misma forma que antes de la publicación. La única diferencia es que el usuario del servicio no puede cambiar el espacio de trabajo.
Parámetros de salida
En un flujo de trabajo habitual, la herramienta web tendrá al menos un parámetro de salida. Una herramienta web devuelve un resultado al cliente a través de un parámetro de salida. Sin este parámetro, el servicio no puede devolver nada. De un modo muy similar a los parámetros de entrada, los servicios de geoprocesamiento admiten algunos tipos de datos para los parámetros de salida.
Sugerencia:
Si la herramienta que está creando no necesita ningún parámetro de salida porque la finalidad de la herramienta es realizar una actualización o una acción en un momento especificado, puede que no necesite un servicio de geoprocesamiento. En este caso, una tarea programada puede ser un flujo de trabajo más adecuado.Los tipos de datos de salida admitidos pueden tener un tipo de parámetro derivado o requerido y pueden ser cualquiera de los siguientes tipos de datos en la columna izquierda de la tabla siguiente en ArcGIS Pro. Una vez publicada, se convertirán en los correspondientes tipos de datos en la columna de la derecha en ArcGIS Enterprise.
Tipo de datos de la Tabla de valores
Tipo de datos en ArcGIS Pro | Tipo de datos en ArcGIS Enterprise |
---|---|
Clase de entidad | |
Dataset ráster | |
Tabla | |
Archivo | |
Booleano,Doble,Largo,Cadena de caracteres (texto) | |
Fecha | |
Unidad lineal | |
Campo | |
Tabla de valores | |
Compuesta |
Todos los tipos de datos de salida anteriores que no sean ValueTable admiten valores múltiples. Consulte GPMultiValue para este tipo de datos en ArcGIS Enterprise.
A excepción de Tabla de valores, todos los tipos de la tabla pueden formar parte de un parámetro compuesto. Puede haber un parámetro compuesto que admita valores múltiples. Vea GPComposite para ese tipo de datos en ArcGIS Enterprise.
Tipo de datos Compuesto
Al publicar con ArcGIS Pro 3.2, marque la casilla Mantener tipo de datos como Compuesto en la pestaña Contenido del panel compartido. Esta casilla solo está activa si se publica en ArcGIS Enterprise 11.2 o posterior.
Si se publica con la casilla inactiva o no marcada, o con un script de Python, el tipo de datos de la herramienta web del parámetro no es compuesto. Es el tipo de datos compuesto único basado en el valor proporcionado al ejecutar la herramienta antes de publicar. Al publicar con la casilla marcada, el tipo de datos de la herramienta web del parámetro será compuesto.
Durante la publicación, no todos los tipos de datos compuestos del parámetro pueden convertirse a los tipos de datos admitidos en el servidor. Si un tipo de datos no puede convertirse en un tipo de datos admitido en el lado del servidor, ese tipo de datos se eliminará o se convertirá en GPString. Si varios tipos de datos en el parámetro tienen los mismos tipos de datos convertidos correspondientes, cada uno de ellos se convertirá a ese tipo de datos individualmente.
Salidas codificadas
Todas las salidas se vuelven estáticas para el consumidor del servicio. Cuando un servicio de geoprocesamiento se consume en una aplicación de escritorio o web, no se suministra ningún valor para el parámetro de salida. Esto puede resultar sorprendente la primera vez que se intenta ejecutar el servicio, ya que no se ofrece la posibilidad de definir el nombre de salida de una clase de entidad. Al compartir una herramienta web, el proceso que publica el servicio de geoprocesamiento se encarga de la salida. El nombre de salida al ejecutar la herramienta en ArcGIS Pro se convierte en el nombre del resultado de salida del servicio. El servicio trata de escribir la salida en una ubicación de memoria o temporal como Carpeta temporal,GDB temporal o Espacio de trabajo temporal. El servicio devolverá la salida al cliente después de que el servicio se haya ejecutado correctamente.
Salida no compatible
Algunos tipos de parámetros no son compatibles con un servicio de geoprocesamiento, ya que no se pueden devolver al cliente. Los espacios de trabajo y tipos complejos como los datasets de red y las redes geométricas son ejemplos de esto. Un espacio de trabajo, por ejemplo, puede ser una carpeta, un dataset de entidades o un archivo de conexión de .sde. El servicio no puede devolver una carpeta o un contenedor de elementos. Si el flujo de trabajo requiere devolver varios elementos o elementos complejos compuestos por varios elementos, puede ser necesario que cambie el tipo de parámetro de salida a archivo, comprima esos elementos y devuelva el archivo .zip. Como alternativa, si su flujo de trabajo lo permite, puede usar la herramienta Copiar entidades y devolver un resultado de clase de entidad simplificado.