Ejemplo de servicio GP: Buscar entidades cercanas 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 |
|
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 |
|
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 |
|
Importante |
Muestra cómo utilizar una capa de análisis de red resuelta para el posterior análisis. |
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.
Datos
Los datos para este ejemplo vienen de C:\arcgis\ArcTutor\GP Service Examples\ClosestFacilities.
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.
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. |
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. |
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. |
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. |
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. |
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. |
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). |
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. |
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. |
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.
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.
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.
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.
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.
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:
- En la ventana Catálogo, haga clic derecho en SanFranciscoBaseMap.mxd y haga clic en Publicar en ArcGIS Server.
- Acepte todos los valores predeterminados.
- 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.
- Haga clic en Siguiente.
- 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.
- Haga clic en Siguiente. A partir de este punto, puede aceptar los valores predeterminados que le proporciona el asistente y crear el servicio.
Utilizar
- Abra ArcMap con un documento en blanco.
- Cree una conexión a ArcGIS Server en la ventana Catálogo si no existe ninguna.
- Agregue el servicio de mapas SanFranciscoBaseMap a la tabla de contenido de ArcMap.
- 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:
- 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.
- 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.