Ejemplo de servicio GP: Buscar entidades cercanas en una red de calles

Complejidad: Avanzado Requisitos de datos: Configuración de datos de tutorial de ArcGIS Ruta de datos: C:\ArcGIS\ArcTutor\GP Service Examples\ClosestFacilities Objetivo: Crear, publicar y utilizar un servicio de geoprocesamiento que busca las entidades más cercanas a una ubicación dada en la ruta más corta en una red de calles.

Carpeta

ClosestFacilities

Propósito

Busca una cantidad determinada de las bibliotecas más cercanas desde una ubicación de inicio en base al tiempo de viaje a lo largo de una red de calles, calcula la ruta más corta a cada una de las bibliotecas más cercanas y genera las indicaciones para conducir en un archivo de texto.

Servicios

  • SanFranciscoBaseMap (servicio de mapas)
  • ClosestFacilitiesService (servicio de geoprocesamiento)

Tarea de geoprocesamiento

Buscar bibliotecas cercanas

Entradas

Uno o más puntos digitalizados por el usuario y la cantidad de bibliotecas más cercanas para buscar.

Salidas

  1. Las bibliotecas más cercanas.
  2. Las rutas más cortas entre los puntos especificados por el usuario y cada una de las bibliotecas más cercanas basadas en el tiempo de viaje.
  3. Un archivo de texto que contiene las indicaciones para conducir de cada ruta.

Datos

Utiliza un dataset de red de calles y una clase de entidad que contiene todas las ubicaciones de las bibliotecas en el área de San Francisco que se proporcionan en la carpeta ToolData.

Extensiones

Network Analyst

Importante

Muestra cómo utilizar una capa de análisis de red resuelta para el posterior análisis.

Acerca de este ejemplo

Carpeta correspondiente

C:\arcgis\ArcTutor\GP Service Examples\ClosestFacilities contiene los modelos y los datos completos.

Acerca de este ejemplo

El servicio ClosestFacilitiesService que se creó en este ejemplo le muestra cómo publicar una tarea de geoprocesamiento que realiza un análisis de ubicación de facilidades más cercanas en una red de calles. La tarea Buscar bibliotecas cercanas determina las rutas más cortas para una cantidad de bibliotecas más cercanas especificada por el usuario desde los puntos dados en base al tiempo de viaje a lo largo de una red de calles. La tarea genera la salida en las rutas y las indicaciones para conducir hasta las bibliotecas más cercanas.

Ejemplo de salida de la tarea Buscar bibliotecas cercanas
Ejemplo de salida de la tarea Buscar bibliotecas cercanas

Datos

Los datos para este ejemplo vienen de C:\arcgis\ArcTutor\GP Service Examples\ClosestFacilities.

La carpeta ClosestFacilities contiene
La carpeta ClosestFacilities contiene

Dataset de red

La carpeta ToolData contiene una geodatabase de archivos, SanFrancisco.gdb. Esta geodatabase contiene un dataset de red, Streets_ND, dentro del dataset de entidades Transportation. Este dataset de red es un modelo de la red de calles del área de San Francisco. Proporciona un atributo de red, TravelTime, que indica el tiempo que lleva viajar por cada segmento de calle.

Mapa base

La capa de mapa base que está dentro de SanFranciscoBaseMap.mxd tiene una capa, Streets, que se ilustra a continuación. Esta capa muestra la extensión del dataset de red. Esto significa que esta tarea se puede utilizar para determinar las bibliotecas cercanas sólo en esta extensión.

Mapa base de San Francisco que muestra la extensión del dataset de red
Mapa base de San Francisco que muestra la extensión del dataset de red

SanFranciscoBaseMap se publica en un servicio de mapas.

Caja de herramientas y documento de mapa

La caja de herramientas para el servicio de geoprocesamiento es ClosestFacilitiesService y el documento de mapa de origen para el servicio es ClosestFacilitiesService.mxd. ClosestFacilitiesService.mxd que contiene las siguientes cuatro capas de datos de origen y la capa de herramienta Buscar bibliotecas cercanas:

  • Streets_ND: el dataset de red.
  • Biblioteca: la capa de entidades que contiene las ubicaciones de todas la bibliotecas en el área de San Francisco
  • ClosestLibrariesSymbology: la capa de entidades que define la simbología para las bibliotecas de salida
  • OutputRoutesSymbology: la capa de entidades que define la simbología para las rutas de salida

Modelo

Vista general del modelo

El modelo Buscar bibliotecas cercanas se ilustra a continuación. Hay dos variables de entrada:

  • Ubicaciones de entrada, que son los puntos especificados por el usuario desde los que se buscan las bibliotecas más cercanas
  • Cantidad de bibliotecas a buscar

El modelo crea una capa de análisis de red de instalación más cercana; agrega las ubicaciones de bibliotecas desde la capa de entidad de biblioteca como instalaciones; agrega las ubicaciones especificadas por el usuario como incidentes y realiza una operación para determinar las rutas hasta las bibliotecas más cercanas, genera indicaciones para conducir y busca sólo las bibliotecas que están incluidas en las rutas de todas las bibliotecas que se cargan como instalaciones.

Elemento

Tipo

Descripción

Red de calles

Capa de dataset de red

La capa del dataset de red.

Cantidad de bibliotecas a buscar

Parámetro de entrada, largo

La cantidad de bibliotecas a buscar para cada ubicación de entrada.

Hacer la capa closest facility (instalación más cercana)

Herramienta

Crea una capa de análisis de red de una instalación más cercana. Esta capa contiene tanto los datos como las propiedades que determinan cómo se calcularán las instalaciones más cercanas, junto con los resultados del cálculo.

Instalación más cercana

Capa de Network Analyst

Capa de la instalación más cercana.

Biblioteca

Capa de entidades

La clase de entidad de puntos que contiene todas las ubicaciones de bibliotecas. Las posiciones de estos puntos en la red de calles ya se calcularon como se describió en la sección Calcular de antemano las ubicaciones de red de las bibliotecas.

Agregar ubicaciones (Bibliotecas)

Herramienta

Agrega las ubicaciones de bibliotecas como instalaciones en la capa de la instalación más cercana.

Instalación más cercana (1)

Capa de Network Analyst

La capa de la instalación más cercana con instalaciones.

Ubicaciones de entrada

Conjunto de entidades (puntos), parámetro de entrada

Las entidades de puntos desde donde se determinan las bibliotecas más cercanas.

Agregar ubicaciones

Herramienta

Agrega las ubicaciones de entrada como incidentes en la capa de la instalación más cercana.

Instalación más cercana (2)

Capa de Network Analyst

La capa de la instalación más cercana con instalaciones e incidentes.

Solucionar

Herramienta

Calcula las instalaciones más cercanas y determina la ruta más corta a cada instalación.

Instalación más cercana (3)

Capa de Network Analyst

Capa de la instalación más cercana que contiene todas las instalaciones y la ruta más corta a las instalaciones más cercanas.

SolveSucceeded

Booleano

La salida derivada de la herramienta Resolver que indica si la resolución se realizó correctamente.

Indicaciones

Herramienta

Genera las indicaciones para conducir para las rutas a las instalaciones más cercanas.

Indicaciones de texto

Archivo, parámetro de salida

El archivo de texto que contiene las indicaciones para conducir.

Instalación más cercana (4)

Capa de Network Analyst

Capa de la instalación más cercana que contiene todas las instalaciones y la ruta más corta a las instalaciones más cercanas.

Selecciona datos

Herramienta

Selecciona la subcapa Rutas desde la capa de la instalación más cercana.

Rutas

Capa de entidades

La capa de rutas desde la capa de Network Analyst Instalación más cercana (3).

OutputRoutesSymbology

Capa

La capa de simbología utilizada para aplicar la simbología en la capa de entidad Rutas.

Aplicar simbología de capa

Herramienta

Aplica la simbología a la capa Rutas desde la capa OutputRoutesSymbology.

Rutas más cercanas

Capa de entidades, parámetro de salida

La capa Rutas con la simbología apropiada.

Seleccionar datos (Instalaciones)

Herramienta

Selecciona la subcapa de instalaciones desde la capa de la instalación más cercana.

Instalaciones

Capa de entidades

La capa de instalaciones desde la capa de Network Analyst Instalación más cercana (3).

Campo de unión

Herramienta

Une los campos FacilityID, FacilityRank, Total_TravelTime y Total_Meters desde la capa Rutas hasta la capa Instalaciones.

Instalaciones (3)

Vista de tabla

La capa de instalaciones derivada que contiene los campos unidos.

Crear capa de entidades

Herramienta

Selecciona sólo las instalaciones para las que el valor FacilityID no es nulo. Sólo los campos requeridos en las instalaciones de salida se configuran para que estén visibles.

Facilities_Layer

Capa de entidades

La capa de entidades de instalaciones que contiene sólo las instalaciones que están incluidas en las rutas.

ClosestLibrariesSymbology

Capa

La capa de simbología utilizada para aplicar la simbología a Facilities_Layer.

Aplicar simbología de capa (1)

Herramienta

Aplica la simbología a Facilities_layer desde la capa ClosestLibrariesSymbology.

Bibliotecas más cercanas

Capa de entidades, parámetro de salida

La Facilities_Layer con la simbología apropiada.

Elementos del modelo
Modelo Buscar bibliotecas cercanas

Calcular de antemano las ubicaciones de red de las bibliotecas

Las ubicaciones de bibliotecas utilizadas en el análisis de ubicación de facilidades más cercanas no son temporales: las ubicaciones en la red permanecen constantes. Por lo tanto es más eficiente calcular las ubicaciones de red sólo una vez en lugar de calcularlas cada vez que se agregan como instalaciones.

La herramienta Calcular ubicaciones se puede utilizar para determinar las ubicaciones de red para las bibliotecas y almacenar la información en los campos SourceID, SourceOID, PosAlong y SideOfEdge. La herramienta Agregar ubicaciones puede utilizar esta información para cargar las bibliotecas como instalaciones en la nueva capa de instalación más cercana. Es considerablemente más rápido que utilizar Agregar ubicaciones para determinar primero las ubicaciones de red para bibliotecas y después cargarlas como instalaciones. Para la capa Biblioteca, las ubicaciones de red se determinaron según la capa de dataset de red Streets_ND mediante la herramienta Calcular ubicaciones.

Calcular las ubicaciones de red de las bibliotecas
Calcular las ubicaciones de red de las bibliotecas

Tenga en cuenta que si en otra situación las instalaciones son temporales, las ubicaciones de red tendrán que determinarse cada vez que se agregan como instalaciones. Por lo tanto calcular de antemano las ubicaciones de red mediante la herramienta Calcular ubicaciones no proporcionará ningún beneficio de rendimiento.

Procesos de modelo

La herramienta Hacer la capa de instalaciones más cercanas crea una nueva capa de Network Analyst, Instalación más cercana, que almacena las propiedades de análisis, hace referencia a la capa de dataset de red Streets_ND que se utiliza para el análisis y almacena las instalaciones e incidentes de entrada y los incidentes y las rutas de salida. El dataset de red tiene un atributo de coste llamado TravelTime, que especifica el tiempo de viaje requerido para atravesar cada segmento de calle en minutos. Este atributo se utiliza como un atributo de impedancia. La variable Cantidad de bibliotecas a buscar especifica la cantidad de instalaciones que va a buscar.

Parámetros de la herramienta Hacer la capa de instalaciones más cercanas
Parámetros de la herramienta Hacer la capa de instalaciones más cercanas

La herramienta Agregar ubicaciones (Bibliotecas) agrega las ubicaciones de bibliotecas como instalaciones en la capa de la instalación más cercana. Debido a que las ubicaciones de red para las bibliotecas ya se calcularon mediante la herramienta Calcular ubicaciones, la opción Usar los campos de ubicación de red en lugar de la geometría estaba seleccionada.

Utilizar campos de ubicación de red para agregar instalaciones
Utilizar campos de ubicación de red para agregar instalaciones

La herramienta Agregar ubicaciones agrega los puntos digitalizados por el usuario como incidentes en la capa de la instalación más cercana. El parámetro Ubicaciones de entrada es un tipo de datos de conjunto de entidades por lo tanto el modelo puede aceptar interactivamente los puntos digitalizados por el usuario como incidentes. El esquema y la simbología para el conjunto de entidades derivan del archivo InputLocations.lyr que se encuentra dentro de la carpeta ToolData.

La herramienta Resolver busca la cantidad dada de instalaciones más cercanas desde cada incidente y calcula la ruta más corta para cada instalación según el atributo de red TravelTime. Las rutas que se calcularon se escriben en la subcapa Rutas en la capa de la instalación más cercana de salida.

La capa de Network Analyst no es un tipo de datos de parámetros de salida compatible con los clientes de ArcGIS Server. Por lo tanto la herramienta Seleccionar datos se utiliza para obtener la subcapa Rutas desde la capa de Network Analyst Instalación más cercana.

La subcapa Rutas utiliza la simbología de la capa de Network Analyst. Para aplicar una simbología diferente de modo que cada ruta tenga un color único, la herramienta Aplicar simbología de capa se utiliza para aplicar la simbología a la subcapa Rutas desde la capa OutputRoutesSymbology.

La herramienta Indicaciones se utiliza para generar las indicaciones para conducir y darles salida en un archivo de texto. El archivo de texto de salida que contiene las indicaciones para conducir se crea en el directorio de trabajo en el servidor con la variable en línea %scratchworkspace%.

La subcapa Rutas en la capa de la Instalación más cercana contiene un campo de FacilityID que indica el Id. de objeto de la instalación que se visitó por la ruta. Esta información se puede utilizar para seleccionar sólo las instalaciones que se visitan por las rutas desde todas las instalaciones. La herramienta Campo de unión une la subcapa Rutas con la capa de instalaciones mediante el campo FacilityID. La herramienta une los campos FacilityID, FacilityRank, Total_TravelTime y Total_Meters con la subcapa de instalaciones según el FacilityID en las rutas y el ObjectID en las instalaciones.

Parámetros de la herramienta Campo de unión
Parámetros de la herramienta Campo de unión

La salida de la herramienta Campo de unión contiene el campo FacilityID en la subcapa de instalaciones. Este campo tiene un valor nulo para todas las instalaciones que no se visitan por las rutas. Al utilizar la herramienta Crear capa de entidades, sólo se seleccionan y generan una salida en una nueva capa aquellas instalaciones para las que el valor del campo FacilityID no es nulo.

Parámetros de la herramienta Crear capa de entidades
Parámetros de la herramienta Crear capa de entidades

La simbología para la capa de instalaciones se establece desde la capa OutputLibrariesSymbology mediante la herramienta Aplicar simbología de capa.

Capa de herramienta

La capa de herramienta Buscar bibliotecas cercanas se crea al arrastrar el modelo Buscar bibliotecas cercanas a la tabla de contenido de ArcMap.

Debido a que las salidas del modelo se encuentran en las capas de entidades en memoria, la subcapa Bibliotecas más cercanas y Rutas dentro de la capa de herramienta tendrá una fuente de datos dañados cuando abra por primera vez ClosestFacilitiesService.mxd. El documento de mapa se publicará como está. Sin embargo, debería volver a ejecutar la capa de herramienta y verificar que el modelo funcione antes de publicar el servicio.

Tenga en cuenta que si cambia la simbología para cualquiera de las capas de salida en la capa de herramienta, no se utilizará la nueva simbología. Esto se debe a que las salidas de este modelo son capas de entidades y sus simbologías ya se definieron mediante la herramienta Aplicar simbología a capa en el modelo.

Publicar

SanFranciscoBaseMap.mxd se publica como un servicio de mapas. ClosestFacilitiesService.mxd se publica como un servicio de geoprocesamiento sin servicio de mapas de resultado, de la siguiente forma:

  1. En la ventana Catálogo, haga clic derecho en SanFranciscoBaseMap.mxd y haga clic en Publicar en ArcGIS Server.
  2. Acepte todos los valores predeterminados.
  3. En la ventana Catálogo, navegue hasta la conexión administrativa del servidor en el nodo Servidores SIG, haga clic derecho, y elija Agregar nuevo servicio. Asigne un nombre al servicio ClosestFacilitiesService y elija Servicio de geoprocesamiento como el tipo.
  4. Haga clic en Siguiente.
  5. En el siguiente panel, elija Sincrónico para el Tipo de ejecución. Para la opción Las herramientas que expone el servicio de geoprocesamiento se almacenan en, elija Un mapa y especifique ClosestFacilitiesService.mxd para el Documento de mapa. Como es una prueba del servicio, marque Mostrar mensajes.
    Publicar el servicio ClosestFacilitiesService
    Publicar el servicio ClosestFacilitiesService
  6. Haga clic en Siguiente. A partir de este punto, puede aceptar los valores predeterminados que le proporciona el asistente y crear el servicio.

Utilizar

  1. Abra ArcMap con un documento en blanco.
  2. Cree una conexión a ArcGIS Server en la ventana Catálogo si no existe ninguna.
  3. Agregue el servicio de mapas SanFranciscoBaseMap a la tabla de contenido de ArcMap.
  4. En la ventana Catálogo, en el nodo de conexión de usuario Servidores SIG, expanda la caja de herramientas ClosestFacilitiesService y abra la herramienta Buscar bibliotecas cercanas. La ilustración siguiente muestra el resultado de estos pasos:
    Tarea Buscar bibliotecas cercanas en una sesión de ArcMap
  5. Agregue un punto para crear una ubicación de entrada. Especifique 3 para la cantidad de bibliotecas que va a buscar y haga clic en Aceptar para ejecutar la tarea.

    Después de finalizar la tarea, la tabla de contenido contiene la capa de salida Bibliotecas más cercanas y Rutas, como se ilustra a continuación. Las ubicaciones de entrada no son generadas como salida desde la tarea pero se agregan a la tabla de contenido desde el nodo Entradas en la ventana Resultados.

    Tarea completada
    Tarea completada
  6. El archivo de texto que contiene las indicaciones se copia desde el directorio de trabajos del servidor al espacio de trabajo temporal para la sesión actual de ArcMap. Este archivo se puede visualizar al hacer doble clic en la ventana Resultados.

    Ver el archivo de indicaciones
    Ver el archivo de indicaciones

Temas relacionados


3/6/2012