Skip To Content

Usar un servicio de geoprocesamiento en ArcMap

Un servicio de geoprocesamiento contiene una o varias tareas. Una tarea es similar a una herramienta de geoprocesamiento en el sentido de que acepta parámetros y devuelve resultados; es un término que utiliza ArcGIS API for JavaScript para describir las rutinas que funcionan en un servidor y devuelven resultados. No hay gran diferencia entre servicios de geoprocesamiento y cajas de herramientas o tareas y herramientas. Solo se hace una distinción entre servicios y cajas de herramientas, así como tareas y herramientas, para otros clientes de ArcGIS Server (por ejemplo, navegadores web y otro tipo de software basado en Internet).

Conectar a un sitio de GIS Server

El primer paso es conectarse a un sitio de ArcGIS Server. En la ventana Catálogo, realice lo siguiente:

  1. Cree una conexión de publicador de GIS Server desde el nodo de los Servidores SIG.
  2. Cree una conexión en una carpeta haciendo clic con el botón derecho en la carpeta y haciendo clic en Nuevo > Conexión de ArcGIS Server.

Buscar la dirección URL de un servicio de geoprocesamiento

Cuando se conecte a ArcGIS Server, necesitará una URL y un nombre de usuario y una contraseña. Todos los servicios, incluidos los servicios de geoprocesamiento, deben usar una URL de SOAP para trabajar con ArcMap. Puede obtener la URL a un servicio de cualquiera de las siguientes formas:

  • Su organización aloja el sitio de GIS Server y usted conoce la URL.
  • Ha obtenido la dirección URL de un compañero.
  • Buscó servicios de geoprocesamiento en ArcGIS Online y encontró un servicio que contiene tareas que desea utilizar. Puede obtener la dirección URL para el servidor que aloja el servicio se la siguiente manera:
    • La descripción del servicio en ArcGIS Online tiene una entrada Conexión a la API REST de la web ArcGIS que contiene una URL. Esta dirección URL es para conectarse al servicio mediante REST. Para conectar con el servidor de ArcGIS 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 URL de SOAP correspondiente para crear conexiones al 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 del árbol de catálogo para encontrar tareas y servicios de geoprocesamiento.

Ejecutar las tareas de geoprocesamiento

Ejecuta las tareas del servicio de geoprocesamiento tal y como lo hace con cualquier otra herramienta, desde el cuadro de diálogo de la herramienta, en ModelBuilder o en un script. La única diferencia está en si ejecuta herramientas en primer plano. Algunas tareas esperan a que el servidor devuelva los resultados, mientras que otras no esperan: envían la tarea al servidor y en ocasiones consultan los resultados en el servidor. Utilice 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 Resultados. Si el tipo de datos de salida resultante es un archivo 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. Los siguientes son los cinco valores de estado:

<vacío>

La herramienta sigue en ejecución en el servidor y no se ha escrito ninguna salida, o la tarea no se ha ejecutado correctamente y no se obtiene ningún 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 desea conservar los datos, cópielos de esta ubicación temporal y péguelos en una ubicación conocida. Una forma de hacerlo es utilizar la herramienta Copiar y 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 y 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 con el botón derecho en la herramienta de resultado y en Obtener datos, que copia los datos del servidor a su 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 del servidor a su equipo porque se superó el número máximo de entidades a 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 Desktop que establece en la sesión actual no tiene ningún efecto en la configuración del entorno utilizada por los servicios.

Salir de una aplicación antes de finalizar la ejecución de una herramienta de servidor

Una vez que haya enviado una herramienta asíncrona (véase la siguiente sección), podrá salir de la aplicación con la que está trabajando. Por ejemplo, si está trabajando en ArcMap, puede iniciar la ejecución, guardar el documento de mapa y salir de ArcMap. Cuando abra el documento posteriormente, ArcMap consultará el servidor, comprobará el estado de los resultados y actualizará el resultado en la ventana Resultados. Si va a utilizar este método de iniciar la ejecución y salir de ArcMap (o 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 publicador del servicio determina si una tarea se ejecuta de forma sincrónica o asíncrona. 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.

Para determinar si una herramienta de servidor es sincrónica o asíncrona, realice una de las siguientes acciones:

  • Si crea una conexión de administrador a ArcGIS Server, vaya al servidor en la ventana Catálogo, haga clic con el botón derecho en el servicio de geoprocesamiento y en Propiedades del servicio. El tipo de ejecución de la herramienta se enumera 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 será Mensajes de servidor. Estos tipos de servicios de geoprocesamiento siempre se ejecutan como procesos en segundo plano en ArcMap. Una herramienta sincrónica empezará mostrando mensajes de ejecución. Los dos resultados que aparecen a continuación se han ejecutado de forma asíncrona y sincrónica (tal y como establece el administrador de ArcGIS Server).
Asíncrona en comparación con la ejecución sincrónica

Si ejecuta una herramienta asíncrona en ArcMap y habilita 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 (activada). Esto se debe a que ArcMap no reconoce 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. Puede realizar un seguimiento del progreso de una herramienta asíncrona en la ventana Resultados. Cuando la herramienta está en ejecución, se muestra un reloj de arena junto al 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 la tarea finaliza, aparece el mensaje Correcto y se muestra un icono de herramienta junto al nombre de la tarea del resultado.