42
State of the art of FOSS4G for topology and network analysis Vincent Picavet FOSS4G 2010 - Barcelona

State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

State of the art of FOSS4G for topology and network analysis

Vincent Picavet FOSS4G 2010 - Barcelona

Page 2: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Oslandia, who's that ?

Page 3: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Oslandia

Young French SME specialised in Open Source GIS

PostGIS experts: Vincent Picavet & Olivier Courtin

Mainly Focuses on: - Spatial Databases (PostGIS, SpatiaLite) - OGC, ISO, INSPIRE Standards and SDI architecture - Complex analysis : Routing, Network and Graph Solutions

Oslandia's ecosystem:

Page 4: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Oslandia's Technologies

3D GDAL GEOS

GRASS GraphServer INSPIRE MapServer

OGC PgRouting PostGIS

PostgreSQL Spatialite TinyOWS

TileCache PyWPS QGIS

Page 5: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Oslandia, Find us at FOSS4G

Running long and complexes processes with PostGIS

Vincent Picavet, Wednesday - 12h00 – Sala 6

PostGIS meets the third dimension

Olivier Courtin, Wednesday - 12h30 – Sala 6

State of the Art of FOSS4G for Topology and Network Analysis

Vincent Picavet, Thursday – 14h30 – Sala 5

Breakout Session: Spatial DatabasesCode Sprint on Friday: PostGIS

Oslandia : Bronze Sponsor

Page 6: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Presentation plan

g Introductiong What is topology ?g What is Network Analysis ?g FOSS4G for topology & NAg Conclusiong Perspectivesg Questions

Page 7: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Introduction

Page 8: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Back to the roots

g Problem of the seven bridges of Koenigsberg

g Topology and graph theory was born !

ei⋅1=0

Page 9: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Not so long ago…

g 4 colors mapg «Given any separation of a plane into contiguous regions,

producing a figure called a map, no more than four colors are required to color the regions of the map so that no two adjacent regions have the same color»

g Conjecture in 1852 (Francis Guthrie)g Proof in 1976g First computer-assisted proofg GIS Problems lead to complex theoretical issues

Page 10: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Nowadays GIS application fields

g Transportation networks at largeg Path finding & Routingg Network flowg Fleet managementg …

g Resource allocationg Crisis managementg Hydrologyg Computer networksg Geomarketingg Mobile applicationsg …

Page 11: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

What is topology ?

Page 12: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Topology − General

General : g «Area of mathematics concerned with spatial properties

that are preserved under continuous deformations of objects»

g GIS : g «Spatial relationship between geographic features based

on location»g Implicit on maps : eye-brain system interprets itg Needs to be explicit for computer systemsg Relations

g Connectivity, Adjacency, Containment, Proximity, Relative Directions

g Rules based on relations

Page 13: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Classic feature model

g aka «Spaghetti model»g 1-1 translation of analog mapg Line = series of ordered (x, y) pointsg Polygon = closed loops define boundariesg Different lines/Polygons = independent objectsg No explicit connectivity & neighbouring infog Simple and efficient

g Cartographic displayg Used by most CAD DB

Page 14: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Why topology ?

g Insure correct boundariesg Enhance analysisg Insure data qualityg Topological editing and digitizingg Needed to do network analysis Get rid of the Spaghetti Monster !

Page 15: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GIS Formats & topology

g Your very own topologyg Feature-attribute basedg Use relations and create rules

g Classic topology modelg Node, arc/edge, faceg Connectivity, Direction,

Adjacency

g Most GIS data format → no topologyg Except : ArcInfo Coverage, TIGER, DLG, OSM (partly)…

Page 16: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

From spaghettis to topological zen

g Multiple ways to build topology from geometryg Build your own model or use a standard oneg Classic build process steps

g Extract all shared vertices as nodesg Create edges between nodes

( lines & polygon boundaries)g Create faces with edges ( polygons)

g Data cleaningg Automaticg Semi automaticg Manual

Clean & Validatewith topology rules

Spaghettimess

TopologicalZen data

Page 17: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Standardization

g Main standard, DB-oriented :g BS ISO/IEC 13249-3:2006 aka SQL/MM

g Defines model and operationsg Node-edge-face model, with geometry

g ST_NODE, ST_EDGE, ST_FACE viewsg ST_CreateTopoGeo, ST_ValidateTopoGeog Editing functionsg Topology-network model and operations

g Creation, validation, editingg Shortest Path

Page 18: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

What is Network Analysis ?

Page 19: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Graph Theory − Network theory

g Graph Theory :g «Study of graphs: mathematical structures used to model

pairwise relations between objects from a certain collection.»

g Networksg Nodes & Edgesg Directed / Undirectedg Weighted or notg Definition varies…

g Social Networks, Biology, Link analysis, centrality measures…

Page 20: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Some network analysis problems

g Enumerationg Sub-graphsg Colouringg Routing

g Minimum spanning treeg Route inspection problemg Shortest path problemg Steiner treeg Travelling salesman problem

g Network flowg Visibility graphg Covering problemsg Graph classes

Page 21: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

FOSS4G Tools

Page 22: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

FOSS4G Softwares

g PostGISg PgRoutingg GvSIGg GraphServerg Spatialiteg GRASS

Page 23: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

PostGIS

g SQL/MM Topology Modelg Partial implementation

g No network analysisg Node-Edge-Faceg Create, Validateg Raw edit g SQL/MM interface for editing, Geo/topo operations

SELECT topology.CreateTopology(name, [srid], [tolerance [srid]], [tolerance]);SELECT * FROM topology.ValidateTopology(name) ; -- topology validation

INSERT INTO mytopology.edge … ;INSERT INTO mytopology.face … ;INSERT INTO mytopology.node … ;SELECT ST_AddIsoNode(…) ;SELECT ST_ChangeEdgeGeom(…);

SELECT topology.Geometry(TopoGeometry) ; -- get geometry from topology objectSELECT topology.DropTopology(name) ;

Page 24: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

PgRouting

g PostGIS Pluging Own network modelg Shortest pathg Driving distancesg Travelling Salesman Problemg Algorithms

g Dijkstrag A*g Shooting star (with restrictions)

g Network building tool & OSM import toolSELECT * FROM shortest_path_astar('SELECT gid AS id, source::int4, target::int4, length::double precision AS cost, x1, y1, x2, y2 FROM dourol' , 3, 7, false, false);

Page 25: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GvSIG − Topology extension

g Full topology managementg Multi-Layer topology builderg Set of topology rules system

g Complex parameterized rulesg Multi-layer rules

g Topology validation & partial validationg Topological digitizingg Topology exceptions managementg Automated, semi-automated and manual cleaningg Full GUI

g Native GvSIG integrationg Geoprocessing

g generalization, Voronoi, Poly2lines, clean, translate…

Page 26: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical
Page 27: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical
Page 28: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GvSIG − Network extension

g Network Analysisg Topology builder

g Save / reload function (specific format)g Interactive GUI for network managementg Algorithms

g Shortest pathg Connectivityg Minimal spanning treeg Origin/destination matrixg Finding providers for eventsg Service zone

Page 29: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GvSIG − Network extension

Page 30: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GraphServer

g Standalone routing serverg Algorithms

g Shortest path (Fast Dijkstra implementation)g Driving distances

g Focus on multimodal and GTFS data integrationg OSM import toolg HTTP interfaceg Highly customizable

g C coreg Python libraryg Hooks to use as a framework

g Own SQLite data formatg Used in production(Trimet, MapQuest…)

g

Page 31: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Spatialite

g SQLite-based embedded spatial database frameworkg Routing functionalitiesg SQL interfaceg Network building tools (with GUI)g Query GUI

g integrated with Spatialite GUIg Algorithm

g Shortest path (Dijkstra)

Page 32: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Spatialite

Page 33: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

GRASSg Native N-E-F topology

g Built automaticallyg Supports digitizingg Cleaning module & network maintenance (v.clean, v.net)

g Graph & network analysis modulesg Through DGLib (Directed Graph Library)g Algorithms

g Shortest path ( v.net.path, d.path, v.net.timtable )g TSP ( v.net.salesman )g Resources allocation ( v.net.alloc )g Minimum Steiner trees ( v.net.steiner )g Iso-distances ( v.net.iso )g Connectivity ( v.net.connectivity )

g Grass GUIg Scriptable

Page 34: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical
Page 35: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Frameworks

g Boost Graph Libraryg Parallel Boost Graph Libraryg R - igraph

Page 36: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

BGL & PBGL

g Boost Graph Libraryg «standard» C++ libraryg High quality & highly customizableg Efficient algorithms

g Implementsg Shortest Path (Dijkstra, Bellman-Ford, Johnson)g Minimum Spanning Tree (Kruskal, Prims)g Connected components (& strongly & dynamic)g Sorting & orderingg Colouringg Transpose

g Parallel BGLg Distributed storage and algorithmsg Research platformg

Page 37: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

R - igraph

g Statistics frameworkg igraph : simple graphs and network analysisg Graph generationg Graph manipulationg Visualizationg Algorithms

g Shortest pathg Minimum Spanning Treeg Connectivityg Structural propertiesg …

Page 38: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Visualization softwares

g Graph visualization is a problem on its owng Lots of R&D efforts in this fieldg Some OpenSource tools :

g Tulipg Processingg Graphviz

Page 39: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

What's best for you − Topology ?

Page 40: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

What's best for you − Network Analysis

Page 41: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

Perspectives and issuesg Huge volumes

g Global earth transportation networkg Multimodalg Time dimension

g Parallel processingg Live data

g Near-realtime updatesg Interoperability

g Conversion toolg Smooth integration between GIS and large network

analysis tools

Page 42: State of the art of FOSS4G for topology and network analysis2010.foss4g.org/presentations/3555.pdf · Graph Theory − Network theory g Graph Theory : g «Study of graphs: mathematical

That's all folks !

Want to know more ?Ask now or write to :

Vincent [email protected]

www.oslandia.com