Prácticas recomendadas para crear servicios de geoprocesamiento con ModelBuilder

Crear y publicar un servicio de geoprocesamiento implica crear una herramienta o un flujo de trabajo y definir los parámetros de entrada y de salida y la ubicación de los datos utilizados.

ModelBuilder se utiliza para crear, editar y administrar modelos de geoprocesamiento. Los modelos son flujos de trabajo que encadenan secuencias de herramientas de geoprocesamiento y transfieren la salida de una herramienta a otra herramienta como entrada. ModelBuilder también se puede considerar un lenguaje de programación visual para crear flujos de trabajo y herramientas de geoprocesamiento.

Si no está familiarizado con modelos y ModelBuilder, vaya a la sección Introducción a ModelBuilder para ver una lista de temas útiles.

Si ya dispone de un modelo con parámetros que puede ejecutar correctamente en ArcGIS Pro, puede compartirlo como un servicio de geoprocesamiento sin modificaciones. En el resto de este tema se tratan algunos de los matices de la creación de herramientas en ModelBuilder.

Crear elementos de historial a partir de modelos

Las herramientas se deben ejecutar correctamente para que se puedan compartir como servicios de geoprocesamiento. Para crear un elemento de historial, un modelo se debe ejecutar como herramienta. No se crea un elemento de historial al ejecutar un modelo en ModelBuilder.

Nota:

En la mayoría de los casos, el modelo debe tener parámetros. Puede ver un ejemplo de una herramienta de modelo con parámetros en Crear y publicar un servicio de geoprocesamiento. Puede obtener más información sobre la creación de herramientas de modelo en Crear una herramienta de modelo.

Datos de salida

Puede escribir rutas de salida de casi cualquier ubicación al crear modelos. Cuando la herramienta de modelo se comparte como un servicio de geoprocesamiento, estas rutas de salida se actualizan para que se pueda ejecutar en el servidor. La siguiente información describe algunas prácticas recomendadas para crear buenas herramientas de modelo que se puedan compartir como servicios de geoprocesamiento.

Una técnica que puede utilizar para incrementar el rendimiento es escribir los datos intermedios y de salida en el espacio de trabajo in_memory. Al escribir los datos in_memory, la herramienta no escribe la salida en el disco. En lugar de eso, esta información se almacena en la RAM del sistema. Normalmente, con ello se permite que un servicio de geoprocesamiento se ejecute más deprisa que otro en el que todas las salidas se escriben en el disco.

Más información sobre el espacio de trabajo in_memory

Precaución:

No escriba datasets de salida en in_memory si tiene previsto configurar el servicio de modo que una capa de imágenes de mapa dibuje los datos de salida.

Cuando se opta por ver la salida del servicio de geoprocesamiento como una capa de imagen de mapa, es importante entender que se crean dos servicios en el servidor: el servicio de geoprocesamiento y el servicio de mapas. Estos dos servicios se ejecutan independientemente el uno del otro. Cuando se ejecuta la herramienta, el servicio de geoprocesamiento se ejecuta primero. A continuación, el servicio de mapas se ejecuta para dibujar la salida. Debido a este orden de ejecución, el servicio de mapas resultante necesita datasets en disco, que el servicio de geoprocesamiento produce.

Cuando se usa la capa de imagen del mapa de salida o una herramienta que deba escribir la salida en el disco, hay algunas variables que proporcionan control sobre las ubicaciones de salida. Dos variables, %scratchGDB% y %scratchFolder% se pueden usar en el modelo para dirigir la salida a una geodatabase de archivos o a una carpeta. Estas variables existen en ArcGIS Pro como servicios de geoprocesamiento y se puede crear la salida en ellas.

Nota:

Si ha escrito el modelo con rutas completas a los datos del disco, al compartir se actualizarán las rutas de salida en el modelo para reflejar una de esas variables en función del tipo de salida de los datos. Al compartir, siempre se conserva una ruta escrita en in_memory.

Introducción a ModelBuilder

Si no está familiarizado con ModelBuilder, la tabla siguiente muestra algunos temas que le ayudarán a empezar a escribir modelos:

Tema de ayudaContenido

¿Qué es ModelBuilder?

Vocabulario de ModelBuilder

Estos temas proporcionan una introducción sobre ModelBuilder.

Crear una herramienta de modelo

Este tutorial muestra los conceptos básicos de la creación de una herramienta en ModelBuilder. Una herramienta de modelo es un modelo que expone las variables como parámetros.