• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria
  • Ir al pie de página
Logo web Geoinnova

Territorio Geoinnova - SIG y Medio Ambiente

El Blog de SIG, Territorio y Medio Ambiente

  • Web Corporativa
  • Cursos SIG
  • Cursos Medio Ambiente
  • Consultoría
  • Blog
  • Contacto
  • Inicio Blog
  • SIG
  • Programación y Desarrollo SIG
  • Teledetección
  • Medio Ambiente
  • Corporativo
SIG

PgRouting Layer

Feb 21, 2020 · Por Natalia Losada Dejar un comentario

pgRouting como tal, es una extensión de PostgreSQL para desarrollar aplicaciones de rutas de red y análisis de grafos. Es una extensión que añade enrutamiento y funcionalidad de análisis de redes a las bases de datos PostGIS/PostgreSQL.

Por otro lado, también es un complemento de QGIS bastante sencillo que requiere la instalación de pgAdmin y PostgreSQL.

¿Cómo obtener la extensión pgrouting en una BBDD?

Para poder trabajar con la extensión pgRouting, es necesario crear una nueva base de datos dentro del servidor de PostgreSQL (o un servidor propio) o en una base de datos existente.

Crear las extensiones.

Teniendo la base de datos, lo primero que hay que hacer es dotar esta base de datos de capacidades espaciales. Esto se realiza con la ayuda del constructor de consultas de SQL, añadiendo la consulta CREATE EXTENSION postgis.

Extensión postgis

También es necesario añadir una segunda consulta con otra extensión, que en este caso se corresponde con la extensión pgrouting.

Extensión pgrouting

Ya creadas las dos extensiones, hay que verificar que las extensiones se han activado correctamente. Dentro de la base de datos hay una pestaña de extensiones, en la cual deberían aparecer las extensiones que se generan por defecto cuando se crea una nueva base de datos y las dos extensiones nuevas que se han creado. En el caso de que no sea así, hay que refrescar la pestaña para que aparezcan.

Pestaña extensiones

Crear la topología.

Ahora lo que falta es añadir el shape que se va a convertir en red. Esto se realiza mediante un programa de PostGIS llamado PostGIS Shapefile Import/Export Manager. Si no sabéis como hacerlo correctamente aquí tenéis un post donde se explica cómo importar Shape a PostGIS con este programa.

Debes saber que cuando se cargan datos a una base de datos PostGIS, estos datos no presentan información topológica asociada. Esto es un problema puesto que los análisis de redes siempre se realizan de un nodo inicial a un nodo final pasando por un arco. Por tanto, hay que construir la topología de la red.

Para construir esta topología, es necesario utilizar un comando de pgrouting llamado pgr_createTopology que construirá esa topología basada en la información de geometría que presente la capa.

Comentar que es necesario que en la tabla existan dos campos, source y target. Estos campos van a recoger la información del nodo inicial y del nodo final de cada una de las calles que existen en la capa importada.

Sentencia topology

Al ejecutar estas sentencias y siendo el resultado OK, ya se podría trabajar con el complemento en QGIS.

¿Cómo trabajar con la extensión pgRouting en QGIS?

Para trabajar en QGIS, se tiene que crear en primer lugar una conexión a PostGIS desde la pestaña Capa > Añadir Capa > Añadir capas PostGIS dentro del propio QGIS. Si no estás seguro de cómo hacerlo, aquí tienes un tutorial de cómo conectar PostGIS desde QGIS.

Luego se carga la capa al panel de capas y se activa el complemento pgRouting Layer. Directamente aparecerá la base de datos de la conexión.

Por último, se selecciona el algoritmo pg_Dijsktra y ya estaría todo listo para empezar a obtener la ruta más corta entre los dos nodos que seleccionéis en la pestaña Arguments.

pgRouting Layer

Para los nodos inicial y final, 772 y 910 respectivamente, la ruta más corta es la que aparece en la siguiente imagen.

Ruta óptima

Si te ha parecido interesante y quieres seguir aprendiendo sobre esto, no te pierdas la nueva convocatoria del Curso Superior en Gestión de Bases de datos Espaciales: PostgreSQL y PostGIS.

Etiquetas: qgis

Artículos relacionados

Creación de variable
Personalización de QGIS con Python
Ene 21, 2021
Programación y Desarrollo SIG
pyqgis, python, qgis
Semivariogramas, análisis y creación de gráficos
¿Qué es un semivariogramas? Creación y análisis de gráficos
Dic 27, 2020
SIG
qgis
Semi-Automatic Classification plugin en QGIS
Usar Semi-Automatic Classification plugin en QGIS para imágenes satelitales
Dic 27, 2020
Teledetección
qgis
Avatar

Natalia Losada

Licenciada en Ciencias Ambientales con Máster en Sistemas de Información Geográfica. Desarrolla proyectos ambientales y apoyo cartográfico como técnica en la Asociación Geoinnova.

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral primaria

Suscríbete al boletin

    Si te apetece puedes dejarnos tu nombre para que los correos tengan un trato personalizado

    Mediante el envío de mis datos personales confirmo que he leído y acepto la política de privacidad

    RESPONSABLE: Asociación Geoinnova. FINALIDAD: envío de publicaciones, promociones e información sobre cursos y eventos. LEGITIMACIÓN: tu legítimo consentimiento. DESTINATARIOS: Active Campaign con titular Active Campaign LLC, alojada en EEUU y suscrita al EU PrivacyShield. DERECHOS: acceso, rectificación, limitación, supresión de los datos (en [email protected])y a presentar reclamación ante una autoridad de control. INFORMACIÓN ADICIONAL: Política de privacidad.

    La último

    Descarga de GML

    Generar GML desde el visor de la SEC

    Creación de variable

    Personalización de QGIS con Python

    Apps para identificar cimas y montañas con el teléfono móvil

    Estadísticas catastrales y tributarias

    Como trabajar con estadísticas Catastrales y Tributarias de España

    Agenda de cursos en Enero y Febrero

    R y su transformador RCaller

    Ejecutando R en FME Desktop

    La educación ambiental es fundamental para preservar el medioambiente.

    ¿Qué es la educación ambiental?

    Footer

    Sobre Nosotros

    Territorio Geoinnova pretende ofrecer noticias y formación sobre el medio ambiente y las tecnologías de la información geográfica con interés a dichos sectores profesionales.

    Legal

    • Nota Legal

    El blog y todo su contenido se encuentra bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported.

    Todas las categorías

    • Actualidad Ambiental (85)
    • Alimentación Saludable (17)
    • Corporativo (121)
    • Formación (81)
    • Geolibrería (40)
    • Medio Ambiente (948)
    • Patrocinado (12)
    • Programación y Desarrollo SIG (12)
    • SIG (488)
    • Tecnología (72)
    • Teledetección (19)

    © 2021 · Desarrollada por Juan María Arenas - OikosMSP