Tutorial: publicar un servicio de geoprocesamiento
Con ArcGIS Server puede publicar los servicios de geoprocesamiento que le permiten enviar trabajos al servidor y obtener un conjunto de resultados. El servidor accede al modelo y realiza el trabajo, lo que libera los recursos del equipo y elimina el problema de compartir copias del modelo.
Muchas aplicaciones ArcGIS pueden utilizar servicios de geoprocesamiento que incluyen ArcMap, ArcGIS Explorer y aplicaciones de representación cartográfica en la red que se crean con ArcGIS Server. Este tutorial se enfoca en crear un servicio de geoprocesamiento para que se utilice con una aplicación de representación cartográfica en la red. Si está interesado en crear un servicio de geoprocesamiento que se usará principalmente en ArcMap, consulte la variada Guía de ejemplos de servicios de geoprocesamiento.
Conceptos
Antes de comenzar a crear un servicio de geoprocesamiento, debe saber lo siguiente:
¿Qué se requiere para crear un servicio de geoprocesamiento?
La creación de un servicio de geoprocesamiento requiere la creación previa de un modelo mediante ModelBuilder en ArcGIS Desktop. Un modelo es una secuencia lógica de herramientas y secuencias de comandos de geoprocesamiento que lo ayudan a automatizar una operación de SIG. Un modelo incluye herramientas de geoprocesamiento y, de manera opcional, secuencias de comandos escritas para ayudarlo a automatizar el trabajo. No puede publicar herramientas ni secuencias de comandos individuales como servicios de geoprocesamiento, sólo puede publicar modelos. Sin embargo, se puede publicar un modelo que contenga sólo una herramienta o una secuencia de comandos.
Si no trabajó anteriormente con modelos en ArcGIS, o si necesita una revisar el tema, ¿Qué es ModelBuilder? en la Ayuda de ArcGIS Desktop es un buen lugar para comenzar.
¿Qué tipos de datos puede utilizar en el modelo?
Los servicios de geoprocesamiento son compatibles con un conjunto limitado de tipos de datos de entrada y de salida. Para que el modelo funcione correctamente en el servidor, debe verificar que los tipos de datos de entrada y de salida que utiliza el modelo sean compatibles. Existen diferentes estrategias para modificar el modelo de modo que utilice sólo tipos de datos de entrada y de salida compatibles. Puede encontrar estas estrategias, junto con una lista de los tipos de datos compatibles, en el tema Conceptos clave para servicios de geoprocesamiento.
Directorio de trabajos del servidor
Cuando instala ArcGIS Server, se crea un directorio para trabajar con los servicios de geoprocesamiento. Este es el directorio de trabajos del servidor y se ubica por defecto en c:\arcgisserver\arcgisjobs. Cuando utiliza un servicio de geoprocesamiento, se almacenan datos intermedios y de salida en el directorio de trabajos del servidor. Cada ejecución del modelo, o trabajo, tiene su propia carpeta en el directorio de trabajos del servidor. Esto permite que distintas personas utilicen el servicio al mismo tiempo sin que se confundan los resultados.
No debe preocuparse por configurar los espacios de trabajo temporales y actuales del entorno del modelo, ya que el directorio de trabajos del servidor se ocupa de administrar los datos intermedios y los de salida.
Implementación
El siguiente ejemplo lo guía en el proceso de creación de un modelo simple, publicarlo como servicio de geoprocesamiento y ejecutar el servicio en una aplicación de representación cartográfica en la red. Estos pasos incluyen sugerencias y mejores prácticas para el trabajo con servicios de geoprocesamiento.
Crear el modelo
El modelo que se crea en este ejemplo utiliza dos herramientas: Zona de influencia y Recortar. Cuando ejecuta el modelo, define interactivamente un conjunto de puntos en el mapa y una distancia de zona de influencia. Cuando se ejecuta el modelo, se establece una zona de influencia de puntos a la distancia especificada. Para excluir áreas oceánicas, el modelo recorta las zonas de influencia resultantes con la forma de la clase de entidad que representa la línea de costa.
Para crear este modelo puede utilizar sus propios datos, que incluyan, preferentemente, una clase de entidad que represente un límite o una línea de costa que se pueda utilizar como referencia para recortar. Las ilustraciones de este ejemplo utilizan datos del área de San Diego, California. El modelo se recorta a la clase de entidad Suelo.
Además, este modelo requiere que se haya guardado anteriormente en algún lugar del disco un archivo de capa de punto que contenga la simbología que desea usar para los puntos de entrada.
Siga estos pasos para crear el modelo:
- Inicie ArcMap y haga clic en Aceptar para abrir un nuevo mapa en blanco.
- En la ventana Catálogo, navegue hasta la ubicación de los datos que eligió usar para este tutorial y cree una carpeta nueva llamada temporal. Si los datos están almacenados en el perfil local (por ejemplo: C:\Documents and Settings\<nombre de usuario>\...), muévalos fuera del perfil para que estén más cerca de la raíz de la unidad (por ejemplo: C:\Datos\TutorialGeoprocesamiento).
- Haga clic en Geoprocesamiento > Entornos para visualizar la Configuración del entorno.
- Expanda Espacio de trabajo y borre el cuadro Espacio de trabajo actual.
- Para establecer la ubicación del Espacio de trabajo temporal, busque la carpeta temporal que acaba de crear. A continuación, haga clic en Aceptar para cerrar la Configuración del entorno. Como verá más adelante en este tutorial, el espacio de trabajo temporal se utiliza para almacenar datos intermedios que se crean cuando se ejecuta el modelo.
- Haga clic en Geoprocesamiento > Opciones de geoprocesamiento. En Procesamiento en segundo plano, desmarque Habilitar.
La desactivación de los procesamientos en segundo plano hace que sea más conveniente la ejecución del modelo mientras se diseña en ArcMap. Este tutorial no incluye un paso para ejecutar el modelo mientras se está diseñando, pero este paso se incluye en caso de que necesite ejecutar el modelo durante la fase de diseño.
- Guarde el documento de mapa en la carpeta que contiene los datos que desea utilizar en este tutorial. Esta será la carpeta de inicio para el mapa.
-
En la ventana Catálogo, para crear una nueva caja de herramientas en la carpeta de inicio, haga clic con el botón derecho del ratón en Mis cajas de herramientas y haga clic en Nuevo > Caja de herramientas. Puede llamar a esta caja de herramientas TutorialGeoprocesamiento. Se incorporará la extensión .tbx al nombre.
-
Para crear un modelo nuevo, haga clic derecho con el ratón en la caja de herramientas y haga clic en Nuevo > Modelo. Por defecto, el nombre es simplemente "Modelo". Puede cambiarlo más tarde.
- Cuando crea un nuevo modelo, se abre la ventana ModelBuilder. En este punto, puede comenzar a agregar las herramientas que desea utilizar en el modelo. Comience haciendo clic en Geoprocesamiento > Buscar herramientas y escriba Zona de influencia en la caja de búsqueda.
-
La herramienta Zona de influencia debería ser uno de los primeros resultados de la búsqueda. Arrastre la herramienta Zona de influencia desde la ventana Buscar hasta la ventana ModelBuilder.
Precaución:
Existen dos herramientas Zona de influencia en ArcGIS. Asegúrese de utilizar la Zona de influencia de toolboxes\system toolboxes\analysis tools.
- El usuario final podrá seleccionar tanto los puntos a los que se aplicará la zona de influencia como la distancia de zona de influencia, por lo que debe crear estas variables y establecerlas como parámetros de modelo. Para crear la primera variable, haga clic con el botón derecho del ratón en el cuadro Zona de influencia y haga clic en Hacer variable > Desde parámetro > Entidades de entrada. En el modelo aparece un óvalo con el nombre Entidades de entrada que está conectado a la herramienta Zona de influencia.
- Haga clic con el botón derecho del ratón en el óvalo de Entidades de entrada y marque Parámetro de modelo. Los parámetros de modelo son las entradas y la configuración que el usuario final puede introducir cuando ejecuta el modelo.
-
Haga clic con el botón derecho del ratón en Entidades de entrada, haga clic en Propiedades, y a continuación haga clic en la pestaña Tipo de datos. Tenga en cuenta que el tipo de datos se configura como Capa de entidades por defecto. Recuerde que los servicios de geoprocesamiento no aceptan todos los tipos de datos de entrada; Capa de entidades no es un tipo de dato compatible, pero sí lo es Conjunto de entidades. Cambie el valor de la lista desplegable a Conjunto de entidades. Además, mientras mira esta pestaña, busque algún archivo de capa de punto para designar la simbología que desea utilizar para los puntos de entrada.
- Repita los pasos anteriores del 12 al 14 para crear una variable adicional para la herramienta Zona de influencia para Distancia [valor o campo]. Haga que este sea un parámetro de modelo y establezca el tipo de datos como Unidad lineal. Una vez que haya creado la variable, haga doble clic en ella y establezca un valor predeterminado (por ejemplo, con los datos de San Diego, 2 kilómetros puede ser una distancia de zona de influencia predeterminada apropiada).
- Haga doble clic en el óvalo verde Entidades de salida y establezca la ruta a %SCRATCHWORKSPACE%\buffer.shp. SCRATCHWORKSPACE es una variable que, en este caso, asegura que los datos intermedios se escribirán en una ubicación temporal. Cuando ejecuta el modelo en ArcMap, esta ubicación temporal es la carpeta temporal que creó al comienzo del tutorial. Cuando ejecuta el modelo desde el servidor, esta ubicación temporal es el directorio de trabajos del servidor.
-
Para que el modelo sea más fácil de leer cambie el nombre de Distancia [valor o campo] por Distancia de zona de influencia, y cambie el nombre de las entidades de salida (probablemente ahora Buffer.shp) por Zonas de influencia. Para cambiar el nombre de estos componentes del modelo, haga clic con el botón derecho del ratón en ellos y haga clic en Renombrar.
Tal vez deba arrastrar los componentes del modelo para poder ver todo. El modelo se debería ver como el que se muestra a continuación:
-
Ahora, agregue la segunda herramienta al modelo. En la ventana Buscar escriba Recortar y presione ENTRAR. En los resultados que aparecen busque la herramienta Recortar y arrástrela hacia el lado derecho del modelo.
Precaución:
Existen varias herramientas Recortar en ArcGIS. Asegúrese de usar la que se encuentra en toolboxes\system toolboxes\analysis tools.
- Haga clic en el botón Agregar conexión , y a continuación haga clic en el óvalo Zona de influencia seguido por el cuadro Recortar. Se le pedirá que especifique si desea que las Zonas de influencia actúen como Entidades de entrada o Entidades de recorte. Elija Entidades de entrada.
-
Regrese a la herramienta Seleccionar y haga doble clic en el cuadro Recortar en ModelBuilder. Establezca que las Entidades de recorte sean la clase de entidad de límites o de línea de costa que desea utilizar para recortar. Este ejemplo utiliza la clase de entidad Suelo para eliminar zonas de influencia que se encuentran en el océano.
Sugerencia:
Recuerde el lugar donde se ubican las entidades de recorte. Cuando publique el servicio de geoprocesamiento, debe asegurarse de que la cuenta SOC tenga acceso a esta ubicación.
- Para establecer la ubicación de la clase de entidad de salida, haga doble clic en el óvalo verde final del modelo (probablemente llamado Clase de entidad de salida) y escriba la ruta %SCRATCHWORKSPACE%\ClippedBuffers.shp.
- Haga clic con el botón derecho del ratón en el óvalo verde que representa la salida (en este ejemplo, ClippedBuffers.shp) y marque Parámetro de modelo. Marque también Agregar a visualización.
-
Se completó el modelo. Debería verse como el que se muestra a continuación. Guarde el modelo y cierre la ventana ModelBuilder.
- Busque el modelo en la ventana Catálogo. Aún se debería llamar "Modelo". Cámbiele el nombre por ZonaDeInfluenciaYRecortar.
- Guarde el documento de mapa y siga con la siguiente sección.
Preparar el modelo y un mapa asociado para publicar
Ahora que ya creó el modelo, puede seguir los pasos siguientes para utilizar su funcionalidad dentro de una aplicación Web. En este punto, debe pensar lo que sucederá en la aplicación Web. La aplicación Web puede dibujar los resultados del modelo de dos maneras: puede enviar los datos del resultado al cliente para que los dibuje allí, o puede dibujar los resultados en el servidor y enviar la imagen completa al cliente.
Si decide que el equipo del cliente debe dibujar los resultados, no necesita hacer otras preparaciones en ArcGIS Desktop, sólo debe publicar la caja de herramientas como un servicio de geoprocesamiento. Sin embargo, existe una restricción cuando los resultados se dibujan directamente en el cliente: sólo se puede utilizar la simbología de la capa de gráficos del Marco de trabajo para desarrolladores de aplicaciones Web (ADF). La simbología disponible incluye símbolos simples de marcador, línea y relleno, y también algunos otros tipos de símbolos enumerados en Definir simbología de salida para tareas de geoprocesamiento. Los símbolos de línea cartográfica, los símbolos de relleno en gradiente y otros tipos de simbologías complejas requieren que los resultados se dibujen en el servidor.
Si los resultados se dibujan en el servidor, pueden utilizar una variedad de símbolos mucho mayor. Esto se debe a que el servicio de geoprocesamiento trabaja con un servicio de mapas asociado que puede hacer la representación necesaria para todos los símbolos. Las ventajas adicionales que tiene dibujar los resultados en el servidor incluyen la capacidad de utilizar capas en el servicio de mapas como entrada al modelo y la capacidad de trabajar con una gran cantidad de entidades en los resultados (si trata de enviar muchas entidades para que se dibujen en el cliente, puede tardar mucho tiempo o el administrador del servidor puede impedirlo).
Este ejemplo muestra cómo dibujar los resultados en el servidor, lo que requiere la creación de un servicio de mapas asociado. Debe crear un mapa que se pueda utilizar para visualizar las entradas y los resultados del modelo. Una vez que haya creado el mapa, debe agregar el modelo al mapa como una capa de herramienta. Los pasos siguientes explican el proceso:
- Abra el documento de mapa que creó en la sección anterior y agregue algunos datos. Para este tutorial, los datos pueden incluir algunos datasets referenciados. Una de las mejores prácticas para mejorar el rendimiento es no incluir muchos datos de mapa base en este servicio de mapas, sino conectarse directamente con otro servicio de mapas base en la aplicación de cliente.
- Haga clic en Geoprocesamiento > Opciones de geoprocesamiento y asegúrese de que esté marcada la opción Sobrescribir los resultados de las operaciones de geoprocesamiento.
-
A continuación, cree la capa de herramienta arrastrando el modelo a la tabla de contenido de ArcMap. Colóquelo como la capa superior.
Recuerde: tener una capa de herramienta en el mapa es la clave para obtener un servicio de geoprocesamiento que funcione con el servicio de mapas.
- Debe ejecutar el modelo una vez antes de publicar el servicio. Haga clic con el botón derecho del ratón en la capa de herramienta y haga clic en Abrir.
- Agregue algunas entidades de entrada haciendo clic en la herramienta de puntero y en el mapa. A continuación, haga clic en Aceptar para ejecutar el modelo.
-
Las entidades de entrada del modelo ya están simbolizadas según el esquema que importó cuando configuró el parámetro Entidades de entrada en el modelo. A continuación, utilice las propiedades de capa para establecer la simbología que desea para las entidades de salida.
Recuerde: en este ejemplo, las entidades de salida se simbolizan con un símbolo de relleno de línea en ángulo, como se muestra más abajo. Esta simbología sólo es posible cuando el servidor dibuja los resultados mediante un servicio de mapas asociado; no estaría disponible si tratara de dibujar los resultados en el cliente.
- Haga que las entidades de salida (mostradas anteriormente como ClippedBuffers) sean invisibles (desmarcar) en la tabla de contenido.
- Ahora tiene todo lo que necesita para publicar los servicios. Guarde el documento de mapa y cierre ArcMap antes de seguir con la siguiente sección.
Publicar el servicio
Una vez que tenga un documento de mapa con una capa de herramienta, está listo para publicarlo como un servicio. Publicará el documento de mapa como un servicio y habilitará la capacidad de geoprocesamiento, lo que creará un servicio de geoprocesamiento con el mismo nombre. Puede utilizar estos dos servicios dentro de la aplicación Web para ejecutar el modelo en el servidor y mostrar los resultados.
Importante: antes de publicar sus servicios, asegúrese de leer y seguir las pautas que se presentan en Preparar recursos para publicar como servicios. Esto ayudará a garantizar que el servidor tenga permisos para leer y acceder a todos los datos para su modelo y su mapa. Específicamente, la cuenta SOC necesita tener permisos de lectura para el modelo (caja de herramientas), los datos referenciados por el modelo (como las entidades de recorte), el documento de mapa y cualquier dato que aparezca en el documento de mapa. La cuenta SOC también debe tener acceso de lectura y escritura al directorio de trabajos del servidor. Si está utilizando el directorio de trabajos del servidor predeterminado instalado con ArcGIS Server (C:\arcgisserver\arcgisjobs), entonces, el proceso de instalación ya aplicó los permisos apropiados para el directorio de trabajos.
Siga estos pasos para publicar los servicios:
-
Inicie sesión en el Administrador de ArcGIS Server y haga clic en Publicar un mapa, globo u otro recurso SIG como servicio.
Sugerencia: Hay dos asistentes en el Administrador que puede utilizar para publicar servicios. Este vínculo lo lleva al asistente Publicar recurso SIG, que es la forma más sencilla de crear un servicio. Le solicita la mínima cantidad de información que se necesita para crear un servicio. Otra característica del asistente Publicar recurso SIG es que puede usarlo para crear servicios asociados, como los servicios de geoprocesamiento y de mapas que va a crear en este ejemplo.
La otra forma de crear servicios es el asistente Agregar nuevo Servicio. Este asistente es la forma completamente manual de publicar un servicio; le solicita todos los parámetros del servicio. No puede utilizar el asistente Agregar nuevo servicio para crear servicios asociados automáticamente.
- En el primer panel del asistente, se le solicita el Recurso que desea publicar. Esto es el documento de mapa con la capa de herramienta. Si se encuentra en un directorio compartido, puede buscar el documento de mapa. Si no se encuentra en una ubicación compartida, introduzca con cuidado la ruta del documento de mapa.
-
Coloque un Nombre a su servicio. El nombre que introduzca aquí se utilizará tanto para el servicio de mapas como para el servicio de geoprocesamiento. Opcionalmente, si los servicios están agrupados en carpetas, elija la carpeta apropiada y haga clic en Siguiente para ir a la página siguiente del asistente.
-
En la segunda página, observe que dos capacidades están habilitadas por defecto. Representación cartográfica está habilitada para todos los servicios de mapa. Geoprocesamiento está habilitado porque el Administrador detectó que el mapa que está publicando tiene una capa de herramienta. Publicar un servicio de mapas con la capacidad de Geoprocesamiento habilitada crea un servicio de geoprocesamiento asociado con el mismo nombre. Deje marcadas estas capacidades y haga clic en Siguiente para ir a la última página del asistente.
- La última página del asistente explica que se crearán dos servicios y proporciona sus direcciones URL. Haga clic en Finalizar para publicar los servicios y cerrar el asistente.
Crear una aplicación Web con la tarea de geoprocesamiento
El último paso para mostrar el modelo a otras personas es crear una aplicación Web con una tarea de geoprocesamiento. Utilizará el Administrador de ArcGIS Server para crear la aplicación Web. El Administrador lo ayudará a elegir el servicio de mapas de visualización y el servicio de geoprocesamiento que desea exponer a los usuarios mediante la tarea de geoprocesamiento. Siga estos pasos para crear la aplicación Web en el Administrador:
- Haga clic en la pestaña Inicio del Administrador de ArcGIS Server y, a continuación, haga clic en Crear una aplicación Web. Esto lo llevará a la primer página de un asistente que lo ayudará a configurar la aplicación.
-
Introduzca un Nombre para su aplicación. Este nombre aparecerá en la dirección URL que escriben los usuarios en sus navegadores cuando acceden a la aplicación. También puede escribir una Descripción en esta página que pueden leer los administradores cuando ven la lista de aplicaciones Web en el Administrador. Una vez que haya terminado está página, haga clic en Siguiente.
- En la segunda página, debe elegir qué servicios aparecerán en el mapa. Haga clic en Agregar capa, navegue hasta el servicio de mapas que acaba de publicar en la sección anterior y haga clic en Agregar. Es posible que en primer lugar deba crear una conexión al servidor SIG. Si necesita ayuda con esta página, consulte Agregar capas a una aplicación Web en el Administrador. Una vez que haya terminado de agregar los servicios, haga clic en Siguiente para ir a la página siguiente.
-
En esta página del asistente, agregará la tarea de geoprocesamiento. Haga clic en Agregar tarea, elija Geoprocesamiento, y a continuación haga clic en Aceptar para agregar la tarea.
-
Antes de configurar la tarea, debe designar un servicio de geoprocesamiento que la tarea utilizará. Haga clic en Servicios de respaldo, haga clic en Agregar, a continuación, del mismo modo en que buscó la capa de mapa en la página anterior, busque el servicio de geoprocesamiento.
-
En esta lista de Tareas actuales, haga clic en Geoprocesamiento, y a continuación haga clic en el botón Configurar. En este cuadro de diálogo puede cambiar el nombre de la tarea Geoprocesamiento por un nombre más descriptivo. También puede agregar un cuadro de información de ayuda que aparecerá cuando los usuarios coloquen el puntero del ratón sobre la tarea.
Si posee varios modelos en la caja de herramientas, es aquí donde puede elegir el que aparecerá en la tarea. Sólo puede utilizar un modelo por tarea.
En este ejemplo, puede mantener los valores predeterminados de Configuración de tarea de geoprocesamiento. La sección Tarea de geoprocesamiento de la ayuda lo puede ayudar a comprender estas configuraciones, que incluyen archivos de resultado y tareas sincrónicas en contraposición a tareas asíncronas.
- Una vez que haya configurado la tarea del modo en que desea, haga clic en Aceptar para cerrar el cuadro de diálogo y haga clic en Siguiente para seguir con la creación de la aplicación Web. El resto del asistente le permite configurar el esquema de color, los textos, los vínculos y los elementos de mapa de la aplicación. Puede cambiar estas configuraciones del modo en que desee, si continúa con el resto de asistente. La última página muestra alguna información acerca de la aplicación que se creará y le solicita que haga clic en Finalizar para crear la aplicación Web.
-
Abra la tarea de geoprocesamiento para probar la aplicación Web. Defina algunos puntos y ejecute la herramienta para ver las zonas de influencia recortadas.