Wanderwege weltweit Entwicklung einer Overlay-Karte aus OSM-Daten Sarah Hoffmann [email protected] FOSSGIS 2011 Wanderwege weltweit – p. 1/22 OpenStreetMap mehr als nur Strassen Wanderwege weltweit – p. 2/22 Overlays einfache Karten für Nischendaten schnellere Verarbeitung: benötigt Bruchteil der Daten weniger Renderaufwand: viele Kartenteile bleiben leer einfachere Entwicklung: vereinfachtes Karten-Design Hardwareanforderungen minimieren Wanderwege weltweit – p. 3/22 1. Teil: Technische Realisierung Wanderwege weltweit – p. 4/22 Die klassische Renderkette <xml> sm o </xml> l sq 2p planet.osm DB ik n ap M PostGIS O s er ay L en p Kartenteile Web Wanderwege weltweit – p. 5/22 Die klassische Renderkette Engpässe <xml> Grösse der Datenbank sm o </xml> l sq 2p planet.osm DB ik n ap M PostGIS O Berechung der Geometrien s er ay L en p Kartenteile benötigter Speicherplatz Web Wanderwege weltweit – p. 5/22 Overlay-Renderkette <xml> </xml> osmo s planet.osm is OSM Overlay Mapn ik Open Laye Kartenteile rs Web Wanderwege weltweit – p. 6/22 Datenimport mit Osmosis Vorteile der eigenen OSM-Kopie: eigenes Datamining Änderung des Overlays ohne Neuimport osm2psql vs. osmosis Rohdaten, keine Geometrieberechnung Daten vollständig Aktualisieren ist einfacher als Neuimport Wanderwege weltweit – p. 7/22 Die Overlay-Datenbank Import mittels SQL Beispiel: initialer Import der Wanderwegweiser INSERT INTO hiking_posts SELECT id, tags->’name’, tags->’ele’, ST_Transform(geom, 900913) as way, FROM nodes WHERE tags->’tourism’ = ’information’ AND tags->’information’ = ’guidepost’ Wanderwege weltweit – p. 8/22 Die Overlay-Datenbank Import mittels SQL Besipiel: Update der Wanderwegweiser DELETE FROM hiking_posts WHERE osm_id IN (SELECT id FROM actions WHERE data_type=’N’) SELECT id, tags->’name’, tags->’ele’, Updateinformation ST_Transform(geom, 900913) as way, von osmosis FROM nodes WHERE tags->’tourism’ = ’information’ AND tags->’information’ = ’guidepost’ AND id IN (SELECT id FROM actions WHERE data_type=’N’ and action <> ’D’) Wanderwege weltweit – p. 9/22 Die Overlay-Datenbank Import mittels Python-Bibliothek Vorverarbeitung erweiterte Auswertung von Tags (z.B. unterschiedliche Masseinheiten) Geometrieberechung (inkl. Reparatur von Polygonen) Zusammenfassung von Wegen Relationsauswertung (inkl. Verschachtelung) Wanderwege weltweit – p. 10/22 Rendering vollständiges Offline-Rendering iterativ vom niedrigsten zum höchsten Zoomlevel Zoomlevel Kontrolle auf vorhandene Daten vor Rendering + x + + x für Aktualisierung: Tabelle mit geänderten Geometrien Wanderwege weltweit – p. 11/22 Darstellung mit OpenLayers Webserver liefert “Datei nicht gefunden”-Fehler für fehlende Kartenteile transparente Bilder einbinden: OpenLayers.Util.onImageLoadError = function() { this.src = "transparent.png"; }; Wanderwege weltweit – p. 12/22 Aktualisierung der Wanderkarte 500 Minuten 400 300 200 100 0 Sep’10 Okt’10 Nov’10 Dez’10 Jan’11 Feb’11 Mar’11 Osmosis-DB Overlay-Tabellen Kartenteile Server: AMD X2 Dual Core CPU 5600+, 2GB RAM, 500GB Festplatte Wanderwege weltweit – p. 13/22 2. Teil: Entwicklung der Overlays Wanderwege weltweit – p. 14/22 Overlay-Design Farbwahl Wanderwege weltweit – p. 15/22 Overlay-Design Beschriftung Wanderwege weltweit – p. 16/22 Überlappende Routen Finden linarer Segmente mit gleichen Routen Verteilung der Symbole pro Segment Wanderwege weltweit – p. 17/22 Beispiel: Franken Wanderwege weltweit – p. 18/22 Regionalisierung Beispiel Schweiz lokale Routen innerhalb der Schweizer Grenze Wanderwege weltweit – p. 19/22 Regionalisierung Beispiel Niederlande speziell getaggte Wegknoten Wanderwege weltweit – p. 20/22 Zukunftsausblick neuer Server in Planung kürzere Updatezeiten und Rendering on demand interaktivere Karte Design bleibt das zentrale Problem. Wanderwege weltweit – p. 21/22 Fragen Referenzen: OpenStreeMap http://www.openstreetmap.org Wanderkarte: http://osm.lonvia.de/world hiking.html S/W-Layer des Wikimedia-Toolservers: http://toolserver.org/tiles/bw-mapnik osmosis: http://wiki.openstreetmap.org/wiki/Osmosis Mapnik: http://www.mapnik.org OpenLayers: http://www.openlayers.org Alle Kartendaten by OpenStreetMap and Contributors(CC-by-SA 2.0) Folien und Bilder by Sarah Hoffmann(CC-by-SA 3.0) Wanderwege weltweit – p. 22/22