Análisis de Área de Servicio usando Openrouteservice (QGIS3)

El análisis de área de servicio es útil para evaluar la accesibilidad de las ubicaciones. Dadas ubicaciones de estaciones de bomberos, hospitales, estaciones de transporte público, etc. puede usar tal análisis para identificar qué áreas pueden ser servidas desde estas ubicaciones por una cierta cantidad de distancia viajada o por el tiempo demandado. Hasta reciéntemente tal análisis era difícil usando herramientas de código abierto y datos. Pero ahora tenemos acceso a una red global de calles usando OpenStreetMap (OSM) y servicios web gratuitos como Openroutservice (ORS) que puede realizar tareas complejas de enrutamiento usando datos OpenStreetMap (OSM). En este tutorial, usaremos el Complemento ORS Tools para realizar análisis de área de servicio en QGIS.

Vista general de la tarea

Usaremos datos de estación de tren metro para Kochi, India para determinar áreas que están dentro de 15 minutos de distancia a pie.

Otras habilidades que aprenderá

  • Cómo cargar datos de alimentación de tránsito General Transit Feed Specification (GTFS) en QGIS.

  • Cómo convertir datos de puntos secuenciales a trazos de línea usando la herramienta Puntos a Ruta.

Obtener los datos

Kochi Metro Rail Limited (KMRL) provee datos abiertos para el Proyecto Ferroviario Metro Kochi en formato Global Transit Feed Specification (GTFS-static). Solicite la descarga de datos visitando la página de Datos Abiertos.

Para su comodidad, puede descargar directamente una copia de los conjuntos de datos de los enlaces abajo:

KMRL-Open-Data.zip

Fuente de Datos [KMRL]

Configuración

Openrouteservice API provee algoritmos de enrutamiento que trabajan sobre datos geográficos libres de OpenStreetMap. Es un servicio libre basadao en web que puede ser accedido mediante un complemento QGIS. Aunque el servicio es libre, requiere registrarse y obtener una llave API. La llave API es usada para prevenir abuso y hacer cumplir límites en el uso.

  1. Visite la página registro Openrouteservice <https://openrouteservice.org/dev/#/signup>`_ y cree una cuenta. Una vez que su cuenta esté activada, Visite su Tablero de control y solicite un token. Seleccione Libre como el Tipo de token e ingrese ORS Tools QGIS como el Nombre de token. Clic en CREATE TOKEN.

../../_images/setup12.png
  1. Una vez creada, copie la larga cadena de texto mostrada bajo Key. Este es un identificador único asociado con su cuenta que será usado para autorizar el uso de este servicio.

../../_images/setup21.png
  1. Abra QGIS. Visite Complementos ‣ Administrar e Instalar complementos. Busque el complemento ORS Tools e instálelo. Clic en Cerrar.

../../_images/setup3.png
  1. En la Ventana principal QGIS, vaya a Web ‣ ORS Tools ‣ Configuración de Proveedor.

../../_images/setup4.png
  1. Expanda la sección openrouteservice y pegue la clave (copiada en el paso 2) en la caja de texto API Key. Clic en Aceptar.

../../_images/setup5.png

Procedimiento

  1. Descomprima el archivo descargado KMRL-Open-Data.zip en una carpeta de su ordenador. Observará que el directorio descomprimido contiene muchos archivos de texto. Cada archivo contiene datos sobre un aspecto diferente del sistema de tránsito. El formato de los archivos y sus usos se describen en GTFS Reference. De todos los archivos, 2 contienen datos geoespaciales y son de nuestro interés. El archivo shapes.txt contiene puntos que describen la trayectoria física que sigue el vehículo, y el archivo stops.txt contiene la ubicación de cada parada de tránsito. Ambos son archivos CSV que pueden importarse a QGIS. Haga clic en el botón Abrir Gestor de Fuentes de Datos.

../../_images/1155.png
  1. En el diálogo Administrador de Fuente de Datos, cámbiese a la pestaña Texto Delimitado. Clic el botón junto a Nombre de archivo y explore el archivo shapes.txt. Seleccione CSV (valores separados por coma) como el Formato de Archivo. El Campo X y Campo Y deberían llenarse solos. Clic en Añadir.

../../_images/2130.png
  1. De forma similar, clic el botón de nuevo y seleccione el archivo ``stops.txt`. Clic en Añadir. Clic en Cerrar.

../../_images/368.png
  1. Verá que 2 nuevas capa stops y shapes han sido agregadas al panel Capas. Convirtamos la capa de puntos shapes en una capa línea que representa la ruta de la línea de metro. Vaya a Procesos ‣ Caja de herramientas.

../../_images/439.png
  1. Busque y localice la herramienta Creación vector ‣ Puntos a ruta. Haga doble-clic para iniciarla.

../../_images/535.png
  1. En el cuadro de diálogo Puntos a ruta, seleccione shapes como Capa de entrada punto. Según las especificaciones GTFS, cada ruta individual tiene un id_forma único, así que selecciónelo en el menú desplegable como Expresión de grupo de rutas`. También podemos especificar el orden de los puntos que formarán la línea seleccionando shape_pt_sequence como Expresión orden. Haga clic en Ejecutar.

../../_images/634.png
  1. Una nueva capa Paths se agregará al panel Capas. Puede desactivar la visibilidad de la capa shapes para ver la capa línea recién agregada.

../../_images/734.png
  1. Ahora que tenemos los datos de estaciones de metro y líneas agregadas, estamos listos para iniciar el análisis de red. En la Caja de herramientas de procesos, busque y localice la herramienta ORS Tools ‣ Isocronas ‣ Isocronas Desde la Capa. Doble clic para iniciarla.

../../_images/833.png
  1. Seleccione openrouteservice como el Proveedor. Estaremos calculando un polígono de la distancia de caminado por 15-min desde cada estación de metro. Seleccione stops como Capa de Punto de Entrada. Seleccione stop_id como el Campo ID de Capa de Entrada. Desde el desplegable Modo de viaje, seleccione foot-walking. Como estamos interesados en un área basada en tiempo, seleccione time como la Dimensión. Finalmente ingrese 15 minutos como los rangos. Clic en Ejecutar.

../../_images/934.png

Nota

Note que la API Openrouteservice tiene un límite de 20 solicitudes por minuto para Isocronas. Por lo que si su capa tiene más de 20 puntos, puede que vea errores que indican que el límite de tasa se excedió. Puede mantener la herramienta ejecutándose y continuará procesando 20 puntos / min.

  1. Una vez que termine la herramienta, verá que se carga una nueva capa Isochrones en el panel Capas. Cada punto tiene un polígono asociado que representa el área que es accesibile dentro de 15 minutos a pie. Para ver esto en el contexto de los datos que fueron usados para generarlos, podemos agregar el mapa base OpenStreetMap. Deslice hacia abajo el panel Explorador y localice XYZ Tiles ‣ OpenStreetMap. Arrástrelo a la pantalla.

../../_images/1040.png
  1. Se agregará una nueva capa OpenStreetMap al panel Capas. Arrástrelo hacia abajo para cambiar el orden de capa y manténgalo en la parte de abajo de la pila de capas. Acérquese y desplácese para ver si los resultados coinciden con la red caminera. Verá que los polígonos no son circulares, debido a que el tiempo de viaje es calculado a lo largo de los caminos, por los que las regiones que no tienen caminos tendrán menos área cubierta.

../../_images/1156.png
  1. Para calcular el área de servicio, necesitamos completar una última tarea. Podemos fusionar polígonos de isocronas individuales para formar un solo polígono que representa las áreas que son accesibles. Busque y localice Geometría vector ‣ Disolver.

../../_images/1243.png
  1. Seleccione Isochrones como la Capa de entrada y clic en Ejecutar.

../../_images/1341.png
  1. Una vez que termine el procesamiento, se agregará una nueva capa Dissolved al panel Capas. Este polígono representa la región completa que es accesible desde el sistema de metro a 15 minutos a pie.

../../_images/1437.png

Nota

Este es un ejemplo simple de como puede hacerse en QGIS un análisis de área de servicio para un proyecto de transporte público. Un análisis más extenso de análisis de área de servicio incluiría otros modos de transporte. Podríamos incluir buses alimentadores, paradas de bus cercanas y rutas que sirven esas paradas de bus para expandir el análisis. También podríamos incluir viajes por otros modos como en auto y taxi.


If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)