Ejemplo de servicio GP: Seleccionar datos

Complejidad: Principiante Requisitos de datos: Configuración de datos de tutorial de ArcGIS

Carpeta

SelectingData

Propósito

Muestra varias formas de seleccionar los datos según la consulta de atributos o la consulta de ubicación.

Servicios

  • SelectingData (servicio de geoprocesamiento con un documento de mapa de origen)
  • SelectingDataRMS (servicio de geoprocesamiento con un servicio de mapas de resultado)

Tareas de geoprocesamiento

Varias (Consulte los siguiente modelos).

Entradas

Varias según el modelo; generalmente una cadena de caracteres de consulta o un conjunto de entidades.

Salida

Datos seleccionados

Datos

Utiliza un dataset de un área mínima en la ciudad de Portland, Oregon.

Extensiones

Ninguna

Acerca de este ejemplo

Acerca de estos servicios

Una tarea común para los servicios de geoprocesamiento es seleccionar un subconjunto de datos en base a una consulta de atributos o a una consulta espacial. Los modelos en este ejemplo muestran varias formas útiles de seleccionar los datos. Las herramientas de geoprocesamiento principales que se utilizan es estos modelos son Seleccionar capa por atributo y Seleccionar capa por ubicación. Las dos herramientas toman las capas como entrada. La salida es la capa de entrada actualizada que contiene las entidades seleccionadas.

Debido a que Seleccionar capa por atributo y Seleccionar capa por ubicación generan las salidas en capas (en lugar de datasets), debe tener en cuenta cómo ArcGIS Server maneja las tareas que generan salidas en capas. Recuerde que hay tres configuraciones del servicio de geoprocesamiento, se muestran a continuación:

Tres configuraciones

En las primeras dos configuraciones, cuando ArcGIS Server ejecuta una tarea que genera una salida en una capa, éste lee las entidades que se seleccionaron desde la capa y transporta las entidades seleccionadas de vuelta al cliente.

En la tercera configuración, hay dos servicios: el servicio de geoprocesamiento y el servicio de mapas de resultado. Los dos servicios se ejecutan independientemente el uno del otro. Cuando se ejecuta la tarea, ArcGIS Server ejecuta la tarea de geoprocesamiento primero, y después ejecuta el servicio de mapas de resultado, que dibuja la salida del servicio de geoprocesamiento, al enviar la imagen de mapa de los datos de salida de vuelta al cliente. Debido a este orden de ejecución, el servicio de mapas resultante necesita datasets en disco, que el servicio de geoprocesamiento produce. Esto significa que la salida de las tareas en el servicio de geoprocesamiento deben ser datasets, no capas. Las capas, que se permiten en las primeras dos configuraciones, no funcionan con la configuración del servicio de mapas de resultado.

En este ejemplo, encontrará dos pares de caja de herramientas/documento de mapa; SelectingData (para publicar como un servicio de geoprocesamiento con un documento de mapa de origen) y SelectingDataRMS (para publicar como un geoprocesamiento con un servicio de mapas de resultado). Las herramientas en la caja de herramientas SelectingDataRMS darán como resultado datasets en disco, mientras que las herramientas en la caja de herramientas SelectingData darán como resultado capas. En general, las herramientas en la caja de herramientas SelectingDataRMS demoran un poco más de tiempo en ejecutarse debido a que deben copiar los datos en el disco.

De usted depende que servicio elegirá para publicar: SelectingData o SelectingDataRMS. Generalmente, se publica un servicio de mapas de resultado cuando ninguno de lo siguiente es verdadero:

Datos

Los datos son de una pequeña área de la ciudad de Portland, Oregon y se encuentran enC:\arcgis\ArcTutor\GP Service Examples\SelectingData\ToolData\Portland.gdb. Esta geodatabase de archivos se comprimió para guardar espacio mediante la herramienta Comprimir datos de geodatabase de archivos. No puede realizar modificaciones a una geodatabase de archivos comprimidos. Si necesita realizar modificaciones, utilice la herramienta Descomprimir geodatabase de archivos.

Varios de los modelos utilizan variables de conjunto de entidades y de conjunto de registros, que necesitan esquemas para definir los tipos de entidades y campos. Estos esquemas pueden encontrarse en C:\arcgis\ArcTutor\GP Service Examples\SelectingData\ToolData\Templates.gdb.

Vista general de los modelos

Caja de herramientas y documento de mapa SelectingData

Conjunto de herramientas

Herramienta

Descripción

Seleccionar por atributos

Seleccionar lotes impositivos con un valor mayor que

Selecciona todos los lotes impositivos cuyo valor total es mayor que el valor que introdujo el usuario.

Seleccionar lotes impositivos con un valor mayor que (con resumen)

Igual que el anterior, pero además resume el valor total de todos los lotes seleccionados.

Seleccionar lote impositivo por dirección (método de atributo)

Dada una dirección, selecciona el lote impositivo.

Seleccionar vecindad

Selecciona una vecindad desde una lista desplegable.

Seleccionar capa por área

Permite que el usuario seleccione primero una capa, y después seleccione las entidades en base al área.

Lista de correo

Selecciona un lote impositivo por dirección, selecciona todos los lotes impositivos dentro de una distancia determinada, después produce una lista de correo para todos los lotes impositivos seleccionados.

Seleccionar por ubicación

Seleccionar lote impositivo por dirección (método de ubicación)

Dadas las direcciones, crea una entidad de punto para cada dirección y utiliza estas entidades de punto para seleccionar los lotes impositivos.

Seleccionar lotes impositivos por vecindad

Selecciona los lotes impositivos en base a un polígono de vecindad seleccionada.

Seleccionar lotes impositivos por vecindad (optimizado)

Igual que el anterior, pero utiliza un dataset preprocesado para realizar la selección.

Caja de herramientas SelectingData

Caja de herramientas y documento de mapa SelectingDataRMS

Las herramientas en la caja de herramientas SelectingDataRMS realizan el mismo trabajo que las herramientas en la caja de herramientas SelectingData. La diferencia principal es que las herramientas SelectingDataRMS generan salidas en clases de entidades que el servicio de mapas de resultado puede dibujar. La herramienta Copiar entidades se utiliza para copiar las entidades de la capa a la clase de entidad. A continuación se ilustra el modelo Seleccionar lotes impositivos con un valor mayor que mediante la herramienta Copiar entidades. Todas la herramientas de la caja de herramientas siguen un patrón similar.

Seleccionar lotes impositivos con un valor mayor que (para el servicio de mapas resultantes)
Seleccionar lotes impositivos con un valor mayor que (para el servicio de mapas resultantes)

Índices espaciales y de atributos

Cuando realiza consultas a menudo en un campo determinado, como hacen los servicios, la velocidad de las consultas puede aumentar al crear índices en los campos de consulta. Por ejemplo, la tarea Seleccionar lotes impositivos con un valor mayor que realiza consultas al campo TOTALVAL, por lo tanto para optimizar las consultas, TOTALVAL tiene un índice de atributos. Puede utilizar la herramienta Agregar índice del atributo para crear los índices de atributos.

Del mismo modo, si realiza consultas espaciales, los índices espaciales aumentarán la velocidad con que se pueden ubicar las entidades. Los índices espaciales se crean y se mantienen automáticamente para las clases de entidades en una geodatabase, pero no para los shapefiles.

Trabajar con selecciones de capa y capas de herramienta

El documento de mapa SelectingData contiene las capas de herramienta para cada una de las herramientas que se enumeraron anteriormente. La subcapa que se encuentra en la capa de herramienta (la salida de la herramienta) es la misma que la capa de entrada; no es una capa independiente. Debido a que no es independiente, si cambia las propiedades de la capa de entrada original o la subcapa de salida, las otras propiedades de capa también cambian. Como se ilustra a continuación con la herramienta Seleccionar lotes impositivos con un valor mayor que, tanto la capa de entrada como la de salida son Lotes impositivos. Si hace clic con el botón derecho del ratón en la capa de Lote impositivo (la capa de entrada) en la tabla de contenido de ArcMap y cambia la simbología, cambiará la simbología en las dos capas.

Capas de entrada y capas de herramienta

Cuando trabaja con las selecciones de capa (como lo hacen estas herramientas), hay unas pocas pautas que debe recordar:

  • Cuando crea la capa de herramienta en ArcMap (antes de la publicación), la subcapa (la salida del modelo) siempre será una capa con el mismo nombre que la capa de entrada, independientemente del nombre de la variable de salida en el modelo. La simbología será la misma que la de la capa de entrada.
  • Cuando ejecuta la tarea del servidor (después de la publicación), la capa de salida será el nombre de la variable del modelo.

Crear expresiones mediante la sustitución de variables

Las expresiones de selección generalmente requieren una entrada del usuario. Como se muestra en el siguiente modelo Seleccionar lotes impositivos con un valor mayor que, la entrada del usuario es la variable Valor total mayor que. Es una variable doble que se creó de la siguiente forma:

Pasos:
  1. En ModelBuilder, haga clic con el botón derecho del ratón en el lienzo y haga clic en Crear variable
  2. En el cuadro de diálogo Crear variable, elija Doble como el tipo de variable.
  3. Haga clic en Aceptar.
  4. Cambie el nombre de la variable.
  5. Abra la variable y proporcione un valor predeterminado, si lo desea.

Cuando crea la expresión en el cuadro de diálogo de la herramienta Seleccionar capa por atributo, utilice los signos de porcentaje (%) alrededor del nombre de la variable.

Aunque no se requiere, se recomienda hacer de la variable una condición previa para el proceso que sustituye la variable. Para hacer una condición previa, siga estos pasos:

Pasos:
  1. En ModelBuilder, haga clic con el botón derecho del ratón en la herramienta y después en Propiedades.
  2. Haga clic en la pestaña Condiciones previas.
  3. Elija la variable o variables que son una condición previa para la ejecución de la herramienta.
Constructor de expresiones

Método de selección

Tanto la herramienta Seleccionar capa por atributo como la herramienta Seleccionar capa por ubicación para tener varias opciones para seleccionar. Por ejemplo, en lugar de crear una nueva selección, puede agregar o quitar las entidades de la selección actual. La herramienta Seleccionar capa por ubicación le permite establecer una relación espacial, tal como CONTAINS, WITHIN e INTERSECT. Los modelos de ejemplo utilizan sólo algunas de las opciones. Consulte la documentación de la herramienta Seleccionar capa por ubicación para obtener más información.

Seleccionar los datos sin capas de mapa

No necesita utilizar las capas de un documento de mapa para utilizar las herramientas Seleccionar capa por atributo y Seleccionar capa por ubicación. Puede crear una capa de entidades desde un dataset mediante la herramienta Crear capa de entidades, como se muestra a continuación.

Utilizar Crear capa de entidades
Utilizar Crear capa de entidades en un modelo

También puede utilizar la herramienta Seleccionar para crear un dataset de las entidades seleccionadas desde un dataset; no se requiere ninguna capa.

Usar la herramienta Seleccionar
Usar la herramienta Seleccionar

La herramienta Seleccionar realiza una selección de atributos. Si necesita realizar una selección espacial, considere utilizar una o más de las siguientes herramientas:

SelectionUtilities

Esta caja de herramientas contiene varias herramientas de utilidad para admitir las tareas.

Herramienta

Descripción

Comprobar los resultados de coincidencia

Verifica la salida de la herramienta Geocodificar direcciones y genera un error si las direcciones no coinciden.

Obtener 1 valor de campo

Lee un valor de campo del primer registro de una tabla y lo genera como salida en una variable del modelo de geoprocesamiento.

Obtener 2 valores de campo

Igual que el anterior, pero lee dos campos y genera la salida en dos variables.

Obtener 3 valores de campo

Igual que el anterior, pero lee tres campos y genera la salida en tres variables.

Superponer lotes impositivos y vecindades

Crea el dataset que utiliza el modelo anterior Seleccionar lotes impositivos por vecindad (optimizado).

Imprimir etiquetas de correo del lote impositivo

Dado un conjunto seleccionado de lotes impositivos, imprime un archivo de etiquetas de correo.

Herramientas de Utilidad

Notas sobre los modelos

Seleccionar lotes impositivos con un valor mayor que

Este es el más simple de los modelos. Selecciona todos los lotes impositivos cuyo valor total es mayor que el valor de entrada. Como se indicó anteriormente, utiliza la sustitución de variables para crear la expresión de selección.

Seleccionar lotes impositivos con un valor mayor que
Seleccionar lotes impositivos con un valor mayor que

Seleccionar lotes impositivos con un valor mayor que (con resumen)

Realiza el mismo trabajo que el modelo anterior y después agrega la herramienta Resumen de estadísticas para sumar el valor total de todos los lotes que se seleccionaron. El Resumen de estadísticas genera la salida en una tabla que la herramienta Obtener 2 valores de campo lee, una herramienta de utilidad que se encuentra en la caja de herramientas SelectionUtilities que se incluyen en este ejemplo. Es una herramienta de secuencia de comandos que genera los valores de dos campos, el Valor total de todos los lotes y la Cantidad de lotes. Estos valores, junto con los lotes impositivos que se seleccionaron, se devuelven al cliente.

Seleccionar lotes impositivos con un valor mayor que (con resumen)
Seleccionar lotes impositivos con un valor mayor que (con resumen)

La salida del Resumen de estadísticas se escribe en una tabla en la memoria en lugar de en una tabla en el disco. Escribir las tablas y las clases de entidades en la memoria es más rápido comparado con escribirlas en el disco.

Seleccionar lote impositivo por dirección (método de atributo)

Seleccionar las entidades por dirección es una tarea común. Este modelo muestra un método de seleccionar las entidades por dirección (otro método se muestra a continuación).

Seleccionar lotes impositivos por dirección (método de atributo)
Seleccionar lotes impositivos por dirección (método de atributo)

Elemento del modelo

Descripción

Localizador TaxLot

Un localizador de direcciones para la clase de entidad TaxLots. Este localizador utiliza el estilo de direcciones únicas de EE.UU.

Más información sobre los localizadores de direcciones

Dirección

Esta es una variable que se establece por registro. La plantilla es ToolData/templates.gdb/Address. Para obtener algunas direcciones de muestra en el área de estudio, consulte ToolData/sample addresses.txt.

Geocodificar direcciones

Toma una tabla que contiene las direcciones y genera la salida en una clase de entidad de puntos de la ubicación de la dirección. También se genera la salida en un campo de estado. Este campo contendrá una M si se encontró la dirección.

Comprobar los resultados de coincidencia

Una herramienta personalizada de secuencia de comandos que se encuentra en la caja de herramientas SelectionUtilities que se incluye en este ejemplo. Comprueba que la dirección coincidió correctamente.

Correcto

Salida de Comprobar los resultados de coincidencia. Verdadero si había una entrada de dirección y la dirección coincidió.

Obtener 1 valor de campo

Una herramienta personalizada de secuencia de comandos que se encuentra en la caja de herramientas SelectionUtilities que se incluye en este ejemplo. Recupera el Id. de objeto único del lote impositivo que coincide con la dirección.

Seleccionar capa por atributo

Selecciona el lote impositivo con el Id. de objeto generado por Obtener 1 valor de campo.

Elementos del modelo

Seleccionar vecindad

Este modelo selecciona un polígono de la capa Vecindad.

Seleccionar vecindad
Seleccionar vecindad

Este modelo le permite elegir una vecindad de una lista de vecindades. La variable Nombre de vecindad es una variable de cadena de caracteres que tiene un filtro Lista de valores que contiene todos los nombres de vecindades. Para crear o cambiar un filtro, abra el cuadro de diálogo propiedades del modelo y haga clic en la pestaña Parámetros, que se muestra a continuación.

Filtro de lista de valores

Seleccionar capa por área

Este modelo permite que el usuario seleccione primero una capa, y después especifique un área mínima para la selección.

Seleccionar capa por área

La entidad principal de este modelo es cómo permite que elija una capa primero. La variable Capa a seleccionar es una variable de cadena de caracteres que tiene un filtro Lista de valores que contiene todos los Lotes impositivos y las Vecindades. Para visualizar el filtro, abra el cuadro de diálogo Propiedades de modelo y haga clic en la pestaña Parámetros, como se ilustra a continuación.

Filtro de lista de valores

La herramienta Calcular valor toma la cadena de caracteres y la convierte en una variable de capa de entidad, como se ilustra a continuación. Esta técnica de convertir una cadena de caracteres en otro tipo de datos se describe en Tipos de datos de entrada y de salida. La salida de Calcular valor se introduce en Seleccionar capa por atributo.

Calcular un valor en un tipo de datos

Por último, las entidades seleccionadas se copian en una clase de entidad mediante la herramienta Copiar entidades. No se requiere el paso final. (Copiar las entidades ayuda a evitar la confusión cuando crea y prueba la capa de herramienta). Las entidades se escriben en la memoria en lugar de en un disco (escribir las entidades en la memoria es más rápido que escribirlas en el disco). En la caja de herramientas SelectingDataRMS, las entidades seleccionadas deben escribirse en el disco para que el servicio de mapas de resultado las dibuje.

Lista de correo

Este modelo muestra cómo seleccionar las entidades cercanas según una entidad seleccionada, así como también generar un texto simple que contiene las direcciones de las entidades cercanas.

Lista de correo
Lista de correo

Elemento del modelo

Descripción

Dirección

Esta es una variable que se establece por registro. La plantilla es ToolData/templates.gdb/Address. Para obtener algunas direcciones de muestra en el área de estudio, consulte ToolData/sample addresses.txt.

Seleccionar lote impositivo por dirección (método de atributo)

Este es el modelo que se describió anteriormente.

Lote seleccionado

El lote impositivo seleccionado. Esta es la capa del Lote impositivo.

Distancia de búsqueda

Distancia de búsqueda para utilizar.

Capa de entrada

La capa del Lote impositivo.

Seleccionar capa por ubicación

Selecciona todos los lotes impositivos dentro de la distancia que se especificó, utilizando Lote seleccionado como el centro de la búsqueda.

Lotes impositivos

Lotes impositivos dentro de la distancia de búsqueda.

Imprimir etiquetas de correo del lote impositivo

Una herramienta personalizada de secuencia de comandos que se encuentra en la caja de herramientas SelectionUtilities.

MailingList.txt

Un archivo de texto que contiene las direcciones de correo.

Correcto

Verdadero si cada registro tiene una dirección de correo. Falso si uno o más registros tienen una dirección de correo vacía o dañada.

Elementos del modelo

Seleccionar lote impositivo por dirección (método de ubicación)

Esta es la primera de las herramientas que se encuentra en el conjunto de herramientas Seleccionar por ubicación. Hace el mismo trabajo que la herramienta Seleccionar lote impositivo por dirección (método de atributo), pero en lugar de seleccionar el lote impositivo mediante el Id. de la entidad, utiliza la entidad de punto de salida de Geocodificar direcciones como entrada para Seleccionar capa por ubicación.

Este es el método que debe utilizar cuando el punto geocodificado proviene de un localizador diferente. Por ejemplo, es posible que el localizador esté basado en un dataset de calles y que necesite utilizar un punto geocodificado para seleccionar una entidad sin calles, tal como un edificio, lote impositivo o punto de interés.

Seleccionar lote impositivo por dirección (método de ubicación)
Seleccionar lote impositivo por dirección (método de ubicación)

Seleccionar lotes impositivos por vecindad

Otra tarea de selección común es utilizar una entidad de un dataset para seleccionar una entidad de otro dataset. Este modelo utiliza el modelo Seleccionar vecindad que se describió anteriormente para seleccionar una sola vecindad y después utiliza la herramienta Seleccionar capa por ubicación para seleccionar todos los lotes impositivos que caen dentro de la vecindad.

Seleccionar lotes impositivos por vecindad
Seleccionar lotes impositivos por vecindad

Seleccionar lotes impositivos por vecindad (optimizado)

La metodología utilizada por el modelo anterior Seleccionar lotes impositivos por vecindad es aceptable para las consultas poco frecuentes. Es decir, un análisis podría utilizar este método para buscar los lotes impositivos para un análisis rápido único. Pero los servicios de geoprocesamiento generalmente son las tareas que se ejecutan repetidamente y con frecuencia. Debido a que seleccionar los lotes impositivos por vecindad es una tarea que se utilizará frecuentemente, usted querrá optimizarla.

Para esta optimización, la herramienta Intersecar se utiliza para asignar el nombre de vecindad a cada lote impositivo. La herramienta Superponer lotes impositivos y vecindades que se encuentra en la caja de herramientas SelectionUtilities muestra cómo utilizar la herramienta Intersecar para crear un nuevo dataset que contiene todos los lotes impositivos con todos los atributos de vecindades. Este modelo sólo necesita ejecutarse una vez para producir el dataset TaxLotsOverNeighborhoods.

Superponer lotes impositivos y vecindades
Superponer lotes impositivos y vecindades

Una vez que se crea TaxLotsOverNeighborhoods, todo lo necesario es una consulta de atributos simple para seleccionar todos los lotes impositivos dentro de una vecindad.

Seleccionar lotes impositivos por vecindad (optimizado)
Seleccionar lotes impositivos por vecindad (optimizado)

Publicar

Publicar Portland.mxd que se encuentra en la sección de publicación de ejemplo de servicio GP: Recortar y enviar como un servicio de mapas. Utilizará este servicio de mapas como un mapa base para los servicio en este ejemplo. (La carpeta correspondiente para este servicio es C:\arcgis\ArcTutor\GP Service Examples\ClipAndShip).

Publicar SelectingData.mxd como un servicio de geoprocesamiento basado en un documento de mapa de origen. Debido a que las entidades se envían de vuelta al cliente, asegúrese de aumentar la cantidad máxima de registros que el servicio puede devolver a 11.000 (ligeramente más que la cantidad de entidades en la capa Lote impositivo).

Más información sobre cómo publicar servicios de geoprocesamiento con un documento de mapa de origen

Publique SelectingDataRMS como un servicio de geoprocesamiento con un servicio de mapas de resultado.

Más información sobre cómo publicar servicios de geoprocesamiento con servicios de mapas de resultado

Utilizar

Para utilizar los servicios, abra una nueva sesión de ArcMap y agregue el servicio de mapas de Portland como un mapa base.

Abra la ventana Catálogo y vaya a la conexión de usuario con ArcGIS Server donde puede ver y ejecutar todas las tareas que publicó. Expanda el servicio SelectingDataRMS y ejecute la tarea Lista de correo.

Abra la ventana Resultados y realice los siguientes pasos:

Pasos:
  1. Expanda el resultado de MailingList.
  2. Haga clic con el botón derecho del ratón en la tarea Lista de correo y elija Obtener datos. El resultado de la tarea cambia de <Datos en el servidor> a MailingList.txt.
  3. Haga clic con el botón derecho del ratón en MailingList.txt y haga clic en Copiar ubicación. (Debido a que el resultado es un archivo de texto, Agregar a visualización no tiene efecto).
  4. Abra el navegador de Internet y pegue la ubicación en la barra de direcciones. Aparece el contenido de MailingList.txt.
  5. Opcionalmente, puede hacer clic en la herramienta Copiar y arrastrar MailingList.txt desde la ventana Resultados hasta el parámetro de entrada del cuadro de diálogo de la herramienta Copiar. El archivo se copia a una ubicación que elija.
Resultados de MailingList

Temas relacionados


3/6/2012