- Conectar a un ArcGIS Server
- Ejecutar las tareas de geoprocesamiento
- Trabajar con los resultados de las tareas
- Se ignora la configuración del entorno
- Copiar una tarea del servidor en una caja de herramientas personalizada
- Salir de una aplicación antes de que una herramienta de servidor finalice la ejecución
- Tareas sincrónicas y asincrónicas
Un servicio de geoprocesamiento contiene una o más tareas. Una tarea no es en realidad diferente de una herramienta de geoprocesamiento, puesto que acepta parámetros y devuelve resultados; es un término que las API basadas en web (JavaScript, SilverLight y Flex) utilizan para describir rutinas que funcionan en un servidor y devuelven resultados. No existe ninguna diferencia real entre los servicios de geoprocesamiento y las cajas de herramientas, o entre las tareas y las herramientas; tan sólo se hace una distinción entre los servicios y las cajas de herramientas (así como entre las tareas y las herramientas) en el caso de otros clientes de ArcGIS for Server (como los navegadores de Internet u otro software basado en Internet).
Conectar a un ArcGIS Server
El primer paso es conectarse a ArcGIS Server. En la ventana Catálogo
- Se puede establecer una conexión ArcGIS Server desde el nodo de Servidores GIS.
- Puede crear una conexión en cualquier carpeta haciendo clic con el botón derecho en la carpeta y haciendo clic en Nuevo > Conexiones de ArcGIS Server.
Encontrar la dirección URL para un servicio de geoprocesamiento
Cuando se conecta con ArcGIS for Server, se necesita una dirección URL y probablemente un nombre de usuario y una contraseña. Hay varias maneras de obtener la dirección URL para un servicio.
- El ArcGIS Server está alojado por su organización y usted ya conoce la dirección URL.
- Ha obtenido la dirección URL de un compañero.
- Ha buscado servicios de geoprocesamiento en arcgis.com y ha encontrado un servicio que contiene tareas que desea ejecutar. Puede obtener la dirección URL para el servidor que aloja el servicio de la siguiente manera:
- La descripción del servicio en arcgis.com tiene una entrada ArcGIS API Web REST que contiene una dirección URL. Esta dirección URL es para conectarse al servicio mediante REST. Para conectarse al servidor en ArcGIS for Desktop, necesita una dirección URL de SOAP.
- Puede derivar una dirección URL de SOAP de la dirección URL de REST. Por ejemplo, si la dirección URL de REST es:
Http://sampleserver.esri.com/arcgis/rest/services/supplydemandservice/gpserver
La dirección URL de SOAP correspondiente para crear conexiones del servidor es:
http://sampleserver.esri.com/arcgis/services
(rest, el nombre del servicio , y gpserver se quitan de la dirección URL de SOAP.)
- Utilice la dirección URL de SOAP para crear una conexión de usuario al servidor. Una vez que haya creado la conexión, busque en el catálogo de servidor en el árbol Catálogo para buscar tareas y servicios de geoprocesamiento.
Ejecutar las tareas de geoprocesamiento
Las tareas de los servicios de geoprocesamiento se ejecutan igual que cualquier otra herramienta: en el cuadro de diálogo de la herramienta, dentro de ModelBuilder, o en una secuencia de comandos. La única diferencia es que ejecuta las herramientas en primer plano. Algunas tareas esperan a que el servidor devuelva los resultados y otras no; envían la tarea al servidor y, en ocasiones, consultan al servidor para obtener los resultados. Se utiliza la ventana Resultados para observar el estado de las tareas enviadas al servidor. En la siguiente sección, Tareas sincrónicas y asincrónicas, se describe este proceso más detalladamente.
Trabajar con los resultados de las tareas
El resultado de un servicio de geoprocesamiento se agrega a la sesión actual de la ventana Resultado. Si el resultado es un archivo de tipo de datos de salida o dataset ráster, la salida se guarda en un directorio temporal local. Para otros tipos de datos como una clase de entidad, el resultado se escribe en la sesión actual mostrando el nombre o el estado de sus datasets de salida. El estado tiene cinco valores posibles:
- <vacío>
La herramienta sigue en ejecución en el servidor y no se ha escrito ninguna salida, o la tarea no se ejecuta de forma correcta y no se obtiene el resultado. Este estado sólo se aplica en herramientas asincrónicas. Consulte la sección Tareas sincrónicas y asincrónicas más adelante para obtener más información.
- <datos en ubicación temporal local>
La herramienta ha terminado de ejecutarse y los datos de salida se encuentran en la memoria del equipo o en el directorio temporal del sistema. Los datos no se eliminan mientras conserve una capa de ArcMap que haga referencia a los datos. Si quiere conservarlos, debe copiarlos desde su ubicación temporal y pegarlos en una que conozca. Una forma fácil de hacerlo es utilizar la herramienta Copiar, arrastrar el dataset desde el resultado hasta el parámetro de entidades de entrada de la herramienta. También puede hacer clic con el botón derecho en la salida y, a continuación, hacer clic en Copiar ubicación, que copia la ruta de la clase de entidad en el portapapeles, lo cual le permite pegarla en cualquier lugar que acepte texto, como, por ejemplo, el parámetro de las entidades de entrada de la herramienta Copiar.
- <datos en el servidor>
Los datos se encuentran en el servidor. También quiere decir que hay un servicio de mapas resultante que dibujará los datos en ArcMap, ArcGlobe o ArcScene. Este mapa resultante se agrega automáticamente a la tabla de contenido cuando la herramienta termina de ejecutarse en el servidor. Si necesita agregar este servicio de mapas resultante a la tabla de contenido, haga clic con el botón derecho en el resultado y, a continuación, haga clic en Agregar capa Servidor.
También puede hacer clic derecho en la herramienta de resultado y haga clic en Obtener datos, que copia los datos del servidor al equipo. Después de copiar, el estado cambia a <datos en ubicación temporal local>, <los datos sobrepasan el límite de transferencia> o <datos no disponibles>.
- <los datos sobrepasan el límite de transferencia>
La acción Obtener datos no pudo transferir todos los datos desde el servidor al ordenador porque se superó el número máximo de entidades que se puede transferir. Si se copian datasets de grandes proporciones, se reduce la capacidad del servidor de ejecutar otros servicios GIS y se sobrecarga la red. Por consiguiente, el autor del servicio especifica un número máximo de entidades que se pueda copiar del servidor al ordenador del cliente. Si necesita copiar unos datos que superan el límite, póngase en contacto con el autor del servicio o con el administrador del servidor para establecer otras formas de obtener los datos.
- <datos no disponibles>
La acción Obtener datos no pudo encontrar los datos en el servidor. La causa más probable es que el administrador del servidor haya determinado que los resultados de la tarea eran obsoletos y haya eliminado los datos para liberar espacio en el servidor.
Se ignora la configuración del entorno
Los servicios de geoprocesamiento establecen explícitamente cualquier configuración del entorno en el servidor que afectan a la ejecución. La configuración del entorno local de ArcGIS for Desktop que se establece en la sesión actual no tiene ningún efecto en la configuración del entorno utilizada por los servicios.
Copiar una tarea del servidor en una caja de herramientas personalizada
No puede copiar una tarea desde un servicio de geoprocesamiento a una caja de herramientas personalizada (que usted cree).
Salir de una aplicación antes de que una herramienta de servidor finalice la ejecución
Una vez haya enviado una herramienta asincrónica (consulte más adelante), puede salir de la aplicación en la que está trabajando. Por ejemplo, si trabaja en ArcMap, puede iniciar la ejecución, guardar el documento de mapa y salir de ArcMap. Cuando abra el documento posteriormente, ArcMap enviará una consulta al servidor, comprobará el estado del resultado y actualizará el resultado en la ventana Resultados. Si va a utilizar este método de iniciar la ejecución y salir de ArcMap (ArcGlobe o ArcScene), asegúrese de que guarda el documento de mapa para que el resultado se pueda consultar posteriormente.
Tareas sincrónicas y asincrónicas
Los servicios de geoprocesamiento y sus tareas son sincrónicos o asincrónicos. "Sincrónico" quiere decir que el ordenador esperará mientras se ejecuta la tarea en el servidor. "Asincrónico" quiere decir que el ordenador no necesita esperar a que la herramienta finalice la ejecución y que puede seguir con otras tareas.
El editor del servicio decide si una tarea de ejecuta de forma sincrónica o asincrónica. Tan sólo se deben publicar como herramientas sincrónicas aquellas tareas que se ejecuten rápidamente y que tengan datasets de salida pequeños.
Hay dos formas de determinar si una herramienta de servidor es sincrónica o asincrónica:
- Si tiene privilegios administrativos en ArcGIS for Server, puede navegar hasta el servidor en la ventana Catálogo, haga clic en el servicio de geoprocesamiento y, a continuación, haga clic en Propiedades del servicio. El tipo de ejecución de la herramienta se indica en la pestaña Parámetros.
- Ejecute la herramienta y observe el mensaje que escribe. Cuando se ejecuta un servicio asíncrono, el primer mensaje escrito es Server Messages. Estos tipos de servicios de geoprocesamiento siempre se ejecutan como procesos de fondo en ArcMap. Una herramienta sincrónica empezará por mostrar Ejecutar. Los dos resultados que aparecen a continuación se han ejecutado de forma asincrónica y sincrónica (tal y como establece el administrador del servidor GIS).
Si ejecuta una herramienta asincrónica en ArcMap y tiene habilitada la opción de agregar los resultados de la herramienta a la visualización, se agregará una capa a la visualización pero no estará visible (marcada). Esto se debe a que ArcMap no sabe cuándo terminará de ejecutarse la herramienta y tendrá salida para dibujarla.
Cuando una herramienta asincrónica termina de ejecutarse, no se le informa automáticamente. Depende de usted hacer un seguimiento del progreso de una herramienta sincrónica en la ventana Resultados. Cuando la herramienta está en ejecución, se muestra un reloj de arena al lado del resultado. Si quiere cancelar la ejecución, haga clic con el botón derecho en el resultado y, a continuación, haga clic en Cancelar. Cuando acabe la tarea, verá el mensaje Correcto y la herramienta mostrará un icono junto al nombre de tarea del resultado.