Un recorrido rápido por los servicios de creación e intercambio

Crear un servicio de geoprocesamiento implica la creación de las tareas en el servicio. Crear una tarea significa seleccionar o crear una herramienta, definir de los parámetros de entrada y de salida de la tarea y la ubicación de los datos utilizados por la tarea. Estos son los pasos con un poco más detalles:

Ejemplo: un simple modelo de oferta y demanda

A continuación se ilustra un ejemplo de una herramienta creada con ModelBuilder que se debe convertir en una tarea. El modelo (y tarea publicada) es un modelo de asignación muy simple de oferta y demanda; dado un conjunto de ubicaciones de punto que representan la oferta de servicios (como respuesta de emergencia o instalaciones al por menor) y otro conjunto de puntos que representa la demanda (como los hogares o las empresas que requieren el servicio), asigne los puntos de demanda a la instalación más cercana, cree un polígono de área de comercio para cada instalación y resuma todas las instalaciones de la demanda en el ámbito comercial. La salida es un conjunto de polígonos, un polígono para cada instalación de entrada con un atributo que contiene la demanda total dentro del polígono.

Un simple modelo de asignación de oferta y demanda

Tenga en cuenta que en el modelo anterior, las variables Instalaciones Demanda y Polígonos de Thiessen de salida son parámetros de modelo (tienen una P junto a ellas). Estos parámetros de modelo se convierten en los argumentos de tarea que los clientes de su tarea proporcionan cuando ejecutan la tarea.

Los parámetros de modelo aparecen en el cuadro de diálogo de la herramienta, como se ilustra a continuación, donde la herramienta de modelo se abre en la ventana Catálogo.

Una herramienta modelo abierta en la ventana Catálogo para abrir el cuadro de diálogo de la herramienta

Cuando el modelo se ejecuta como una herramienta, se escribe un resultado en la ventana Resultados, como se ilustra a continuación. El resultado contiene toda la información que ArcGIS necesita para construir una tarea.

Un resultado contiene toda la información que ArcGIS necesita para construir una tarea de geoprocesamiento

NotaNota:
Los resultados no son creados al ejecutar un modelo desde dentro de ModelBuilder. Debe ejecutar el modelo utilizando su cuadro de diálogo de la herramienta o con la ventana Python para que se cree un resultado.

Otro aspecto importante de un resultado es que forma parte de una sesión de ArcMap y, por tanto, tiene acceso a todas las capas y tablas de la Tabla de contenido y su tarea publicada también puede acceder a estas capas. La Tabla de contenidoque se ilustra antes solamente contiene las dos capas de entrada y salida, pero podría contener muchas más capas (como una capa de ubicaciones al por menor) que pueden estar disponibles para los clientes de la tarea.

Un servicio de geoprocesamiento y su tarea inicial se crean haciendo clic con el botón derecho en un resultado y eligiendo Compartir como > Servicio de geoprocesamiento. Esto abre el asistente Compartir como servicio y después seleccionar una conexión al servidor y elegir un nombre para el servicio, el Editor de servicio se abre. El Editor de servicio es donde se definen las propiedades y la configuración del servicio, así como las propiedades los parámetros de cada tarea individual. La siguiente ilustración muestra cómo establecer el modo de entrada del parámetro Instalaciones. En este ejemplo, el modo de entrada se establece en Valor definido por el usuario lo que significa que se espera que el cliente proporcione un conjunto de puntos con un atributo de texto FacilityName.

Definir el modo de entrada en el Editor de servicio

Aquí, el punto principal es que el Editor de servicio le proporciona un nivel adecuado de control sobre la definición de las entradas y salidas de la tarea. Aunque esto se produce durante el proceso de compartir, puede tener repercusiones sobre cómo se crea la herramienta.

Ejemplo: otros modos de entrada

La herramienta Generar tabla próxima es una herramienta del sistema que calcula las entidades más cercanas a las entidades de entrada y devuelve los resultados en una tabla. En este ejemplo, Generar tabla próxima se utiliza para devolver todas las escuelas elementales, escuelas secundarias, estaciones de bomberos, tiendas de comestibles y tiendas minoristas dentro de cinco millas de cualquier punto de entrada. En este escenario, los puntos de entrada se consideran casas para venta, este es es un simple servicio destinado a ayudar a compradores de viviendas evaluar casas para la venta. Todas las entradas de dataset son capas en la tabla de contenido de ArcMap.

Utilizar la herramienta del sistema Generar tabla próxima para crear un resultado y compartir como un servicio

Cuando el resultado es compartida como una tarea de geoprocesamiento, lasEntidades próximas pueden ser una Lista de selección de las entidades cercanas a buscar, como se ilustra a continuación. El cliente debe especificar una o más de estas capas. Por ejemplo, es posible que el cliente solo esté interesado en las escuelas elementales y escuelas secundarias, pero ninguna de las otras capas.

Utilizar una lista de selección como el modo de entrada

O bien, como alternativa, las Entidades próximas pueden ser fijas, un Valor constante, en cuyo caso ya no es un argumento de la tarea y el cliente no tiene control sobre qué Entidades próximas se devuelven; siempre obtendrán una tabla de todas las entidades más cercanas.

Utilizar el valor constante como el modo de entrada

Modos de entrada

En los ejemplos anteriores, observó cómo configurar el modo de entrada es una decisión de creación y diseño de tarea importante. Establecer el modo de entrada es algo que hace en el Editor de servicio yq que se refiere solo a las tareas de geoprocesamiento y no la herramienta subyacente. Hay tres modos de entrada de las entidades de entrada:

Más información sobre los modos y los tipos de datos de entrada

Ejemplo: herramienta de secuencia de comandos

También puede crear una tarea con una herramienta de secuencia de comandos. La siguiente ilustración muestra la página de propiedades de una herramienta de secuencia de comandos que hace exactamente el mismo trabajo que el modelo de oferta y demanda simple anterior, solo mediante Python en lugar de ModelBuilder. Tiene los mismos parámetros que el modelo y se utiliza el mismo procedimiento que para crear una tarea: ejecute la herramienta para crear un resultado y compártalo como un servicio de geoprocesamiento.

Página de propiedades de la herramienta de secuencia de comandos
Una herramienta de secuencia de comandos y sus propiedades de los parámetros

Datos de proyecto y el almacenamiento de datos

Datos de proyecto es un término que utiliza el geoprocesamiento para describir los datos de entrada que no son un parámetro; es decir, los datos no son proporcionados por el usuario de la herramienta o tarea, sino se utilizan internamente por la herramienta o tarea. Por ejemplo, la variable Dataset de red San Francisco en el modelo que se muestra a continuación es datos de proyecto porque se utiliza por el modelo pero no expone como un parámetro. Esencialmente, los datos del proyecto de modelo es un óvalo azul sin una P junto al mismo.

Datos de proyecto en un modelo

Los datos de proyecto pueden aparecer en secuencias de comandos, como se muestra en el siguiente fragmento de código de Python.

import arcpy  # The inputPoints variable is considered to be project data  #   since it is not an input parameter. #   inputPoints = r"c:\data\Toronto\residential.gdb\shelters"  arcpy.Buffer_analysis(inputPoints, 'shelterBuffers', '1500 Meters')

En el Editor de servicio, los datos de entrada que tiene un parámetro tienen un Modo de entrada de Valor constante equivalente a los datos del proyecto utilizados por la herramienta pero no expuesta como argumento de la tarea. Puede pensar de un modo de entrada de Constante como a la eliminación de P junto a la variable en ModelBuilder.

Los datos de proyecto son una cuestión importante cuando se crea y comparte una tarea porque el servidor debe tener acceso a los datos de proyecto cuando se ejecuta la tarea. Los servicios de geoprocesamiento tienden a utilizar muchos diferentes datos en diferentes ubicaciones. No es atípico que los problemas en su servicio se puedan atribuir a cuestiones de acceso a los datos de proyecto.

Cuando publica su resultado, la publicación de los procesos escanea todos los modelos y secuencias de comandos que se utilizan para producir el resultado y descubre los datos de proyecto. Entonces determina qué hacer con estos datos. Solo hay dos opciones:

  1. Si los datos de proyecto se pueden encontrar en el almacenamiento de datos del servidor, la tarea publicada utilizará los datos en el almacenamiento de datos.
  2. Si los datos de proyecto no se pueden encontrar en el almacenamiento de datos del servidor, se copian en el servidor, se colocan en una ubicación conocida accesible por el servidor (el directorio de entrada del servidor) y la tarea publicada utilizará el copiado los datos. Los datos copiados no forman parte del almacenamiento de datos del servidor. Si vuelve a publicar la tarea, los datos se copiarán de nuevo.

Acerca del almacenamiento de datos

Cada instalación de ArcGIS Server contiene un almacenamiento de datos. El almacenamiento de datos es una forma de dar el servidor una lista de ubicaciones de datos que el servidor puede acceder. Cuando el servidor puede acceder a los datos, los datos que se encuentran en su equipo local no se copiarán en el servidor al publicar.

Para obtener más información sobre cómo registrar los datos con el ArcGIS Server, consulte:

NotaNota:

Si la opción para copiar automáticamente los datos durante la publicación se ha deshabilitado, deberá registrar sus datos de entrada y salida de la tarea en el almacén de datos del servidor. Cuando se deshabilita la opción para copiar automáticamente los datos, no se pueden copiar en el servidor los datos necesarios para la tarea. Deberá registrar los datos en el almacén de datos del servidor, o bien habilitar la copia automática de los datos en el servidor, o modificar la tarea para que el usuario defina todas las entradas y que todas las salidas se escriban en el espacio de trabajo de in_memory

Datos simples en, simple de los datos

Un servicio SIG debe funcionar con el cliente más sencillo: un navegador web que se ejecute en un ordenador sin ninguna de las prestaciones SIG. Estos clientes sencillos solo saben enviar paquetes de datos simples a un servidor, como texto, números, tablas y las entidades geográficas y sus atributos. Estos clientes no conocen las representaciones geográficas de datos más avanzadas que se utilizan en ArcGIS for Desktop, como datasets de red, topologías, TIN, clases de relación, las redes geométricas, etc. Estos datasets se conocen como datasets complejos; modelan complejas relaciones entre entidades simples. Los datasets complejos no se pueden transportar a través de Internet; solamente las entidades simples, las tablas, los rásteres y los archivos se pueden transportar.

Cuando se crea una tarea, debe saber que todos los clientes, ya sea aplicaciones Web, ArcGIS Explorer o ArcGIS for Desktop solo saben enviar y recibir (transportar) estos datasets simples. Incluso si sabe que solo accederán a su servicio los clientes sofisticados como ArcMap, cuando cree sus tareas seguirá limitándose a los datos de entrada simples.

Consulte el tema Modos de entrada y los tipos de datos de parámetro para obtener más información acerca de datasets transportables y no transportables.

Los resultados de la tarea de dibujo con un servicio de mapas

Al publicar un servicio de geoprocesamiento, puede elegir visualizar el resultado de su tarea como un mapa (además de cualquier otro resultados de su tarea). El mapa se crea en el servidor mediante ArcMap y, a continuación, se transportan de vuelta al cliente. La simbología, el etiquetado, la transparencia y todas las demás propiedades del mapa devuelto son iguales que en la capa de salida en su sesión actual de ArcMap. El flujo de trabajo para crear un servicio de mapas de resultado es simple:

Si su capa de salida son los valores exclusivos de dibujo, quizás tenga que desmarcar <all other values> en las propiedades de capa para forzar un nuevo cálculo de los valores exclusivos antes de dibujar. Consulte el tema Crear un archivo de simbología de capa para obtener más información.

Documentar su tarea

Proporcionar una buena documentación para su servicio y tareas es esencial si desea que el servicio sea descubierto, entendido y utilizado por la mayor audiencia posible.

Una buena documentación comienza con la herramienta que creó el resultado que publicará. Cada herramienta en el sistema tiene una descripción del elemento que puede visualizar uno editado al hacer clic con el botón derecho en la ventana Catálogo y elegir Descripción del elemento.

Más información acerca de la documentación, tareas y servicios de geoprocesamiento

Configuración del entorno de geoprocesamiento

La configuración del entorno de geoprocesamiento incluye parámetros adicionales que modifican los resultados de una herramienta. Estos parámetros difieren de los parámetros de herramientas normales en que no se muestran en el cuadro de diálogo de una herramienta (con algunas excepciones). En cambio, son valores que se establecen una vez en un cuadro de diálogo separado y que las herramientas consultan y utilizan cuando son ejecutadas.

Jerarquía de configuración del entorno

Hay varias maneras de cambiar la configuración del entorno, y donde haga los cambios se puede considerar como un nivel en una jerarquía. La configuración del entorno se transmite de nivel a nivel. En cada nivel, puede invalidar la configuración de entorno transmitida desde el nivel superior con otra configuración.

  • Nivel de la aplicación: en el menú principal haga clic en Geoprocesamiento > Entornos. Los cambios que realiza aquí afectará a la ejecución de cualquier herramienta.
  • Nivel de la herramienta: en un cuadro de diálogo de la herramienta, haga clic en el botónEntornos. Esto abrirá el cuadro de diálogo Configuración del entorno. Tenga en cuenta que toda la configuración del entorno, independientemente de si la herramienta los respeta o no, se enumeran en el cuadro de diálogoConfiguración del entorno. Deberá consultar la página de referencia de la herramienta para determinar si la herramienta distingue el entorno. Cualquier configuración que haga aquí se invalida la configuración de nivel de aplicación. Esta configuración solo se aplica a la ejecución de la herramienta; la configuración a nivel de la aplicación no se sobrescribe.
  • Nivel de modelo, proceso de modelo o secuencia de comandos: en un modelo o secuencia de comandos, tiene un alto nivel de control sobre la configuración del entorno. Puede cambiar un entorno para una herramienta en particular, un conjunto de herramientas, o para cada herramienta en el modelo o secuencia de comandos. La configuración que haga en este nivel anulará todas las configuraciones realizadas en la herramienta o a nivel de la aplicación.

La configuración del entorno se almacena en un resultado

Un resultado en la ventana Resultados almacena todas las configuraciones del entorno que se hacen en la aplicación o a nivel de la herramienta. Cuando se ejecuta la tarea en el servidor, la configuración del entorno en el resultado se utiliza durante la ejecución de la tarea. Sin embargo, la configuración que haga en el nivel de modelo o de secuencia de comandos no se muestran en el resultado, pero se utilizarán durante la ejecución de la tarea. Puede considerar la configuración del entorno en el resultado como transmitida a la herramienta de modelo o secuencia de comandos que es libre para invalidar la configuración.

Temas relacionados

5/10/2014