Análisis de redes para la gestión de riesgos naturales

65
Gestión de emergencias Master riesgos naturales

description

Análisis de redes para la gestión de riesgos naturales forma parte de la participación del autor en el master de riesgos naturales

Transcript of Análisis de redes para la gestión de riesgos naturales

Gestiónde

emergencias

Masterriesgos naturales

¿Quienes somos?

● Fernando Llorens● Unidad de Geomática● Consultora ambiental● Alumno master● Cartografía/SIG

Profesorado

● José Manuel Mira● Unidad de Geomática● SIG de la UA● Análisis Geográfico

Regional● Geodatabases● Publicación webGIS

Aspectos sobre emergencias

● Análisis escalar● Legislación

● Actuaciones → planes ● Responsables● Actores → policía, bomberos, protección civil

● Herramientas

Disaster Management System (DMS)

Puedes probarlo con OSGEO Livehttp://live.osgeo.org/

Sahana

● Creado a partir del maremoto de 2004 en Sri Lanka

● Proyecto de código abierto (AMP: Apache-MySQL-PHP)

● Conjunto integrado de aplicaciones de manejo de desastres modulares y basados en web

● Funciona on-line y off-line

Modulos:

● Registro de personas extraviadas● Registro de organización● Registro de albergues de emergencia● Sistema de Petición/Ayuda● Sistema de coordinación de voluntarios

Ushahidi

● significa ‘testigo’ en kiswahili)● Inicialmente un mashup de GMaps para

denunciar el fraude electoral en Kenya (2007-2008)

● Enlace con redes sociales: SMS, MMS, e-mails

● Usuario-> concepto de crowdsourcing para el activismo y la transparencia social, → modelos de ‘mapeo social’ o ‘mapeo activista’

Haiti.ushahidi.comHaiti.ushahidi.com

El ejemplo de Haiti● El mapa social más completo → OSM● Fotos geoposicionadas →

http://www.flickr.com/map?&fLat=18.5417&fLon=-72.3146&zl=5● http://vimeo.com/9182869

Metodología para gestión de emergencias

● Uso de redes● Definición de una red topológica

● Creación● Problemas con los datos

● Análisis de redes (network analyst)● Resultados● Decisiones

Cartografía para emergencias

● Nos preocupa conocer donde se ha producido una emergencia o prevenir una emergencia → cartografía de riesgos

● Necesitamos saber como organizar nuestros recursos:● ¿Como llegar? → asistencia bomberos● ¿A donde llevarlos? → cobertura hospitalaria

suceso

Bomberos

¿por qué una red?

¿qué es una red?

● Ver presentación Anton Patrushev● http://2010.foss4g.org/presentations_show.php?id=3284

Esto es una red

… y esto también

… sólo 1 tramo

… y de donde saco los datos

● Opción A: cómpralos● TeleAtlas →Tomtom compra TeleAtlas● Navteq → Nokia compra Navteq

● Opción B: Házlo tu mismo● Opción C: Redes sociales + OpenSource →

OSM + Postgresql + PgRouting

Análisis de redes

● Camino mínimo - TSP● Área de influencia o de servicio● Evento más cercano (closest facility)● Conectividad● Árbol de recubrimiento mínimo

Camino óptimo entre 2 puntos

Problema del viajante

El coste

Topología de red

Área de servicio

Evento más cercano

Situación:Accidente en X

Hay 4 parques de bomberos¿Quien viene a por mi?

Routing … a mano

- 2 rotondas* nacional de 115 m* autovía 580 m- 1 ctra nacional de 2 carriles 675 m- 1 red local (UA) de 700 m- 8 pasos de cebra, de los cuales 2 son guardias tumbados

Mi coche se ha incendiado¿cuanto tardan en llegar

los bomberos?

Cálculos

● Tiempo = 3600 * d / v * 1000● Tiempo de 600 metros a 60 km/h

3600 * 600 60 * 100 = 54 segundos

Prácticas● Instalación Piloto de Redes de GvSIG

● http://www.gvsig.org/web/projects/gvsig-desktop/official/extensiones/

● Añadir red● callejero.shp

● Añadir eventos:● Bomberos → bomberos.shp● Hospitales → hospitales.shp● Centros de salud → centros_salud.shp

● Otros: puentes → puentes.shp

Configurar red

● Abrir gvSIG → Añadir callejero.shp● Menú Red → Generar topología de red

Camino óptimo

1)Añadir paradas

1)Sobre red

2)Sobre nodo

2)Añadir barreras (opcional)

3)Solucionar ruta

Práctica

● Ir desde la Universidad hacia el Hospital de San Juan

● Un terremoto de magnitud X ha destrozado el puente de la autovía a su paso por Villafranqueza.

● Resolver el problema

Estudio de accesibilidad

● Cartografiar el área cubierta por una estación de bomberos con estos costes:● 30 segundos, 1, 2,3, 5 minutos

● Repetir el proceso con los 2 hospitales públicos

bomberos

Closest facility

● Tenemos un incidente en una determinada localización.

● ¿A qué hospital lo llevamos?

Opciones closest facility

● Añadir costes a los nodos destino● Ejemplo: tenemos que evacuar a 200 heridos

de una determinada área, y hay que llevarlos a los hospitales, pero cada uno de ellos tiene una carga máxima

● No contemplado en el Piloto de Redes de gvSIG

Ejercicio: Riesgo de inundación

● Añadir WMS Praticova:● http://cartoweb.cma.gva.es/arcgis/services/ordena

cion_territorial/MapServer/WMSServer ● Colocar transparencia → Propiedades del raster

→ transparencia● Colocar barreras en zonas inundables● Ejecutar cálculo de camino óptimo

Ejercicio: PgRouting

● PostGIS → intersección con zonas de riesgos para obtener tramos bloqueados

● Ejecutar cálculo de rutas que no pasen por dichos tramos

● Ver los resultados en Qgis → Plugin RT SQL Layer

● Posibilidad de cambiar el coste con facilidad● Andando, en bici, aumentar/reducir velocidades

Práctica

● Accesibilidad peatonal de los centros de salud

SELECT 60 as time, ST_ConvexHull(ST_Collect(c.the_geom)) FROM callejero c,(SELECT * FROM driving_distance('SELECT gid AS id,source,target,

walk AS cost FROM callejero',2105,60,false,false) ) AS aWHERE a.edge_id = c.gid;

Análisis de redes con pgRouting

● Construir una red → receta

OSM data

Postgresql

Postgis

Osmosis

Osm2pgrouting

Mi red●

OSM data

● Planet OSM → sólo 16,04 Gb (11/03/2011)● Sólo un pedacito

● Europa → 7,3 Gb● España → 298 Mb

http://download.geofabrik.de/osm/

Finalmente ...

● Resultado → Geodatabase con redes y funcionalidades

● Vamos a verlo → pgAdmin● Tus credenciales

● Host → 172.16.224.239● Database → osmali● User: clase● Password: clase

Al tajo ...

Ver el callejero:SELECT * FROM callejero LIMIT 100;

...pero, ¿qué es esto?

… marchando una de rutas

-- Shortest Path Dijkstra--==========================-- análisis del grafoselect * from shortest_path ('select gid as id, source, target, longitud as cost from callejero', 5140, 918, false, false);

5140

918

… un grafo no, quiero una ruta-- Geometría con Dijkstra SELECT * FROM dijkstra_sp('callejero', 5140, 918);

… en cristiano

● Abrir Qgis● Archivo → propiedades del proyecto →

SRC

11

22

33

● Cargar geotablas:● Callejero● vertices_tmp

● Simbolización → Añadir etiquetas● Callejero → gid → rango escala 1/5.000● vertices_tmp → id → rango escala 1/5.000

Añadir temas

Añadir plugin RT SQL Layer

● Menú → Complementos → Obtener complementos de Python

● Repositorios → Añadir repositorios de terceros

● RT SQL Layer → instalar

33

2211

… por fin

Shortest Path (A*)-- GrafoSELECT * FROM shortest_path_astar('SELECT gid AS id, source, target, longitud AS cost, x1, y1, x2, y2 FROM callejero',5140, 918, false, -- directed: true if the graph is directed false --has_reverse_cost: if true, the reverse_cost column will be used. );-- considerando reverse_costSELECT * FROM shortest_path_astar('SELECT gid AS id, source, target, longitud AS cost, reverse_cost, x1, y1, x2, y2 FROM callejero', 5140, 918, true, true); -- GeometríaSELECT c.gid, c.name, c.the_geom FROM callejero c,(SELECT * FROM shortest_path_astar('SELECT gid AS id, source, target, longitud AS cost, reverse_cost, x1, y1, x2, y2 FROM callejero', 5140, 918, true, true) ) AS aWHERE a.edge_id = c.gid;

Shortest Path shooting Star (A*)-- grafo (de arco a arco)-- origen gid 8940 -> Bomberos San Vicente-- destino gid 3189 -> Hospital San JuanSELECT * FROM shortest_path_shooting_star('SELECT gid as id, source, target, longitud as cost, x1, y1, x2, y2, rule, to_cost FROM callejero', 8940, 13189, true, false); -- GeometríaSELECT c.gid, c.name, c.the_geom FROM callejero c,(SELECT * FROM shortest_path_shooting_star('SELECT gid as id, source, target, longitud as cost, x1, y1, x2, y2, rule, to_cost FROM callejero', 8940, 13189, true, false) ) AS aWHERE a.edge_id = c.gid;

Restricciones

-- no se puede pasar por el tramo de autovía de VillfranquezaSELECT * FROM shortest_path_shooting_star('SELECT gid as id, source, target, longitud as cost,x1, y1, x2, y2, rule, to_cost FROM callejero WHERE gid != 1684 ', 8940, 13189, true, false);

Interoperabilidad

● Objetivo: crear un polígono irregular que identificará una zona afectada por un determinado riesgo, y por tanto cerrada al tráfico.

● Práctica con OpenJUMP● Abrir OpenJUMP. Cargar la shp de

“callejeros.shp”● Crear una capa nueva● Digitalizar un polígono → copia el WKT

44

33

22

11

… el chorizoSELECT c.gid, c.name, c.the_geom, cost FROM callejero c,(SELECT * FROM shortest_path_shooting_star('SELECT gid as id, source, target, longitud as cost,x1, y1, x2, y2, rule, to_cost FROM callejero WHERE gid NOT IN (select gid from callejero where st_intersects(the_geom,st_geometryFromText(''POLYGON (( 722060.714442849 4252039.9267600365, 721439.4394791735 4251894.319461773, 721194.1209771362 4251592.425137858, 721283.3134526977 4251268.312531858, 721847.2719218795 4250806.330164393, 722320.4013476011 4250724.109169322, 722750.3230544064 4250488.5664153695, 722979.3008968151 4250575.059246554, 723144.3631126079 4251094.193875381, 722769.9191731527 4251650.329502188, 722537.5948336222 4251901.799008963, 722060.714442849 4252039.9267600365 ))'',25830)) and the_geom && st_geometryFromText(''POLYGON (( 722060.714442849 4252039.9267600365, 721439.4394791735 4251894.319461773, 721194.1209771362 4251592.425137858, 721283.3134526977 4251268.312531858, 721847.2719218795 4250806.330164393, 722320.4013476011 4250724.109169322, 722750.3230544064 4250488.5664153695, 722979.3008968151 4250575.059246554, 723144.3631126079 4251094.193875381, 722769.9191731527 4251650.329502188, 722537.5948336222 4251901.799008963, 722060.714442849 4252039.9267600365 ))'',25830)) ', 8940, 13189, true, false)) AS aWHERE a.edge_id = c.gid;