9
© 2015 FHNW / IVGI Martin Christen, Daniel Rettenmund [email protected] FHNW - Fachhochschule Nordwestschweiz PythonUnconference - September 2015 1 OpenStreetMap in 3D using Python

OpenStreetMap in 3D using Python

Embed Size (px)

Citation preview

Page 1: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 1

Martin Christen, Daniel [email protected] - Fachhochschule Nordwestschweiz

OpenStreetMap in 3Dusing Python

Page 2: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 2

Ziel: 3D Service mit Flask aus OSM Daten

OSM 3D

Import Modellierung

Wavefront OBJ

X3D

X3DOM

3D Portrayal Service

Page 3: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 3

OpenStreetMap als Datenquelle

Page 4: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 4

Generierung der 3D-Modelle

• Gebäudehöhe–Höhenwert oder Anzahl Stockwerke

• Dachform–Unterscheidung der häufigsten Typen–Flachdach, wenn keine Angabe

[Bildquelle: http://wiki.openstreetmap.org/wiki/Simple_3D_Buildings]

Page 5: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 5

3D-Portrayal-Service (3DPS)

• Aufruf über Webbrowser–Angabe der Parameter in URL (ähnlich wie WMS)

http://localhost:5000/3dps?SERVICE=3DPS&REQUEST=GetScene&VERSION=1.0.0&BOUNDINGBOX=1495170,6200358,1502633,6205459&LAYERS=buildings,roofs,ground,trees&FORMAT=model/x3d+xml

–Abspeichern des Modells

• Einfacher Viewer–Ansicht des Modells direkt im Browser (X3DOM)

Page 6: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 6

Resultat

Page 7: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 7

3dmaps.ch

http://rotterdam.3dmaps.ch

*) GPU Compression DXT5/S3TC: Compression Ratio 4:1, aber Format nicht unterstützt in Geo-Welt / HTML5

90 CityGML total: 2.72 GB 26'474 Textures à 1024x1024, ca. 77 GB unkomprimert*. Orthophoto: 10'000 Texturen à 4096x4096, ca. 470 GB unkomprimiert*.

Page 8: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 8

OSM Daten mit 3dmaps.ch

Rendered with Renderman (soon: PovRay)

Page 9: OpenStreetMap in 3D using Python

© 2015 FHNW / IVGI PythonUnconference - September 2015 9

Will be announced on Twitter...@MartinChristen@3dmaps_ch

...soon on github...