© 2015 FHNW / IVGI PythonUnconference - September 2015 1
Martin Christen, Daniel [email protected] - Fachhochschule Nordwestschweiz
OpenStreetMap in 3Dusing 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
© 2015 FHNW / IVGI PythonUnconference - September 2015 3
OpenStreetMap als Datenquelle
© 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]
© 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)
© 2015 FHNW / IVGI PythonUnconference - September 2015 6
Resultat
© 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*.
© 2015 FHNW / IVGI PythonUnconference - September 2015 8
OSM Daten mit 3dmaps.ch
Rendered with Renderman (soon: PovRay)
© 2015 FHNW / IVGI PythonUnconference - September 2015 9
Will be announced on Twitter...@MartinChristen@3dmaps_ch
...soon on github...