Verschiedene Renderer und Technologien für die Darstellung...

36
Verschiedene Renderer und Technologien für die Darstellung von Geodaten

Transcript of Verschiedene Renderer und Technologien für die Darstellung...

Page 1: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Verschiedene Renderer und Technologien für die Darstellung von Geodaten

Page 2: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Renderer

● Rendern = (allg.) Darstellung oder Berechnung von grafischen Inhalten

● Für OSM existieren verschiedene Renderer, um Geodaten zu visualisieren:– OSMarender

– Mapnik

– Geotools (u.a. benutzt von geoserver)

– Kosmos

● Renderer lassen sich i. A. nicht an den produzierten Karten unterscheiden– ... in der Regel aber schon

Page 3: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

(Wdh.) Osmarender

Page 4: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

(Wdh.) OSMarender

● OSMarender ist ein Satz an XSLT-Regen für die Erzeugung von SVG-Vektorkarten

● SVG-Dateien können Beispielsweise im Webbrowser oder (besser) mit Inkscape betrachtet werden

● Wie die Daten kartographisch dargestellt werden, läßt sich selbst bestimmen

Page 5: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Rendern mit Osmarender

.svg

.xslZeichen-Regeln(Rules)

.osm

.png

XSLT-Prozessor

SVG-Renderer

Osmarender

Page 6: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OSMarender

● Vorteile:– Plattformunabhängig

– Setzt auf offene Standards (XML, XSLT)

– Erzeugt Vektordaten

● Nachteile:– Osmarender ist komplex und rechenaufwändig! ->

Nur für kleine ausschnitte geeignet● Lösung: Tiles@Home

Page 7: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Kosmos

Page 8: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Kosmos

● OSM-Renderer für OSM-Benutzer● Leichtgewichtig● Interaktive Benutzung● Kein DB-Support● Nur Windows● Main-Feature:

– Styles sind Wikiseiten, die automatische geparsed werden (http://wiki.openstreetmap.org/wiki/Kosmos_General_Purpose_Rules)

– "democratize" rendering of OSM

Page 9: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Mapnik

Page 10: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Mapnik

● Unabhängig von OSM entwickelt -> Verwendung anderer Datenformate

● Erzeugt ausschließlich Bitmaps● Für die Darstellung am Bildschirm konzipiert

(Hohe Auflösungen werden pixelig)● In C++ implementiert, daher schnell(er als

Osmarender)

Page 11: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Rendern mit Mapnik

.osm

.png

osm2pgsql

Mapnik

PostGIS

osm.xml world_boundaries

Page 12: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

(Wdh.) PostGIS einrichten

Kommandozeile:

createdb osm

createlang plpgsql -d osm

psql osm -f lwpostgis.sql

psql osm -f spatial_ref_sys.sql

Sprachunterstützung aktivieren

Page 13: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OSM-Daten direkt in DB importieren

● Mapnik „versteht“ OSM-XML nicht direkt● Daten müssen in PostGIS-DB liegen● Das Tool osm2pgsql übernimmt den Import von

OSM-XML nach PostGIS● Import:

osm2pgsql -d osm daten.osm

● Datenbank muss (z.Z.) lokal installiert sein

Page 14: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Worldboundaries

● Problem: Küstenlinien und Ländergrenzen sind nicht in der OSM-DB

● Mapnik benötigt diese Informationen jedoch für kleine Zoomstufen: – http://artem.dev.openstreetmap.org/files/world_boundaries.tar.bz2

– Die Datei enthält Shapefiles.

Page 15: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Mapnik (für OSM) downloaden

Kommandozeile:

svn checkout http://svn.openstreetmap.org/applications/rendering/mapnik

Subversion-Repository

Page 16: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Karte rendern mit Mapnik

● Mapnik wird zum Großteil über Umgebungsvariablen gesteuert

Kommandozeile:

source ./set-mapnik-env

./customize-mapnik-map >$MAPNIK_MAP_FILE

./generate_tiles.py

./generate_image.pyosm.xml

Muß angepasst werden (db, boundaries,

Muß ebenf. Angepasst werden

(Bbox, Zoom)

Page 17: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Mapnik-Tile-Server

● Mapnik stellt neben einem Renderer auch einen Tile-Server

● Standard-Ansicht von OSM basiert auf einen Mapnik-Tile-Server

● Tiles sind „Kacheln“, die zu Karten zusammengefügt werden

● Tiles werden in einem Cache gespeichert, damit nicht für jeden Request eine neue Karte gerendert werden muss

● Mapnik-Tiles: http://tile.openstreetmap.org/z/x/y– z = Zoom-Level; x,y = Tile-Koordinate

Page 18: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Aktualität

● Wenn sich die Geodaten ändern, müssen ggf. Tiles neu brechnet werden

● Ausgelieferte Tiles werden neu berechnet, wenn sie zum Zeitpunkt der Auslieferung älter als 3 Tage sind

● Wurden Tiles länger als 28 Tage nicht ausgeliefert, wird zunächst ein leeres Tile zurück gegeben („more OSM comming soon“)

● Problem: Aktualität der Karten nicht sonderlich hoch

Page 19: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Status-Abfrage

● Mapnik-Tile-Status-Abfrage:– http://tile.openstreetmap.org/z/x/y.png/status

● Z = Zoom-Level; x,y = Tile-Koordinate

● Anforderung von Neuberechnung:– http://tile.openstreetmap.org/z/x/y.png/dirty

Page 20: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Tiles@Home

● OSMarender ist langsam● Verteiltes Programm um Karten mittels

OSMarender zu erstellen● Verteilte Architektur:

– 1 Server, der Requests zum Rendern von Tiles verteilt

– X Clients, die ihre Rechenkapazität zur Verfügung stellen, um die Tiles tatsächlich zu rendern und dem Server zur Verfügung zu stellen

Page 21: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

How it works

● Wenn sich Daten in der OSM-DB ändern, wird ein Request zum Re-Rendern des Tiles in eine Warteschlange des T@H-Servicers eingereit

● Clients arbeiten die Requests des Servers ab und liefern ein Tile-Set (versch. Zoom-Stufen) zurück, aus denen die Slippy Map erstellt wird

● Üblicherweise dauert es 2-4 Stunden bis änderungen in der DB sichtbar sind

Page 22: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Tile-Sets

● Ein Render-Request wird immer für ein Tile in Zoomstufe 12 formuliert

● Ein Client liefert ein Tile-Set zurück● Ein Teil-Set besteht immer aus den Tiles der

Zoomstufen 12-17, also max. 1365 PNG-Dateien

● (1 Tile auf ZS 12, 4 Teils auf ZS 13, 16 Teils auf ZS 14, ... )

Page 23: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

ZoomstufenKacheln Speicher

0 1 1 40075 km1 4 5 20038 km2 16 21 10019 km3 64 85 5009 km4 256 341 2505 km5 1024 1365 1252 km6 4096 5641 626 km7 16384 21845 313 km8 65536 87381 157 km9 262144 349525 78 km10 1 Mio. 1 Mio. 39 km11 4 Mio. 6 Mio. 20 km12 17 Mio. 22 Mio. 10 km13 67 Mio. 89 Mio. 5 km14 268 Mio. 358 Mio. 2 km15 1 Mrd. 1 Mrd. 1 km16 4 Mrd. 6 Mrd. 611 m17 17 Mrd. 23 Mrd. 305 m18 69 Mrd. 92 Mrd. 152 m

Zoomstufe Kacheln kumul. Speicher kumul. Kachelbreite5 kb 5 kb

20 kb 25 kb80 kb 105 kb

320 kb 425 kb1 mb 2 mb5 mb 7 mb

20 mb 27 mb82 mb 109 mb

328 mb 437 mb1 gb 2 gb5 gb 7 gb

21 gb 28 gb84 gb 112 gb

336 gb 447 gb1 tb 2 tb5 tb 7 tb

12 tb 29 tb86 tb 115 tb

344 tb 458 tb

Page 24: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Zoom-Level

● (Ein Render-Requests an tah-Clients ist immer Zoom-Level 12)

● Zoom-Level 12 - 17 werden implizit immer mitgerendert und als Tile-Set zum Server gesendet

● Zoom-Level 8 – 11 werden erstellt, in dem reduzierte OSM-Daten (OsmXAPI) gerendert werden

● Zoomlevel 0 - 7 werden vom Server durch Zusammenfassen aus den Tiles der vorherigen Zoomlevel generiert

Page 25: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

tah-API

● Tiles abfragen:– http://tah.openstreetmap.org/Tiles/tile/z/x/y

● z = Zoomlevel; x,y = Koordinaten der Kachel

● Request senden:– http://tah.openstreetmap.org/Request/create/?x=1&y=2&priority=2

● X,Y sind Tile-Bezeichner (Koordinate) mit Zoomlevel 12, Priorität ist 2 ( Höchste Priorität 1, Neidrigste 3)

Page 26: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Manuelles Rendern

● Fehler können es notwendig machen, Re-Rendering manuell anzustoßen:– http://informationfreeway.org

● r = Re-Rendern● i = Informationen

● Slippy-Map-Plugin (JOSM)

Page 27: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Anwendungen auf OSM

Page 28: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenCyclemap

Page 29: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Cyclemap-Key

Page 30: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenCycleMap

● http://www.opencyclemap.org/● Internationale Karte für Fahrradfahrer,

basierend auf OSM-Daten● National Cycle Network cycle routes, other

regional and local routes,other cycling specific features, such as:– Dedicated Cycle tracks and lanes

– Bicycle parking

– Contours and Hill Colouring

– Bike shops

Page 31: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenCycleMap

● OpenCycleMap nutzt Metainformationen von Geodaten für Fahrradfahrer, um angepasste Karten zu erstellen

● Tagging-Schema für Fahrrad-Relevante Geodaten: http://wiki.openstreetmap.org/wiki/Cyclemap

● => Eigene Render-Rules und sorgfältiges Tagging der Geodaten erlauben Erstellung von Karten gemäß individueller Anforderungen

Page 32: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Openrouteservice

Page 33: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenRouteService

● http://www.openrouteservice.org● Entwickelt von der Universität Bonn :-)● Routinganwendung auf Basis von OSM-

Geodaten● Fahrrad, Fußgänger und PKW-Routing● Zusätzlich:

– POI-Suche (Wo ist die nächste Bank?)

– Erreichbarkeitsanalyse

Page 34: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenRouteService

● Vorraussetzung für OpenRouteService:– Korrektes und Vollständiges Tagging (Fahrradweg?)

– Relationen (Einbahnstraßen, Abbiegevorschriften)

– Korrekte Topologie (Überlappung statt Kreuzung?)

Page 35: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

Openstreetbugs

Page 36: Verschiedene Renderer und Technologien für die Darstellung ...psvg.wdfiles.com/local--files/seminarplan/vg11.pdf · SVG-Dateien können Beispielsweise im Webbrowser oder (besser)

OpenStreetBugs

● http://openstreetbugs.appspot.com/● Neue Anwendung, um Fehler in OSM zu

markieren (mit der Hoffnung, dass sie jemand fixed )