SlideShare ist ein Scribd-Unternehmen logo
3D webservices - where do we stand?
Emmanuel Belo
+41 21 619 10 25
emmanuel.belo@camptocamp.com
2/32www.camptocamp.com /
Google Maps
3/32www.camptocamp.com /
Google Maps
4/32www.camptocamp.com /
Here maps (Nokia)
5/32www.camptocamp.com /
OpenWebGlobe
6/32www.camptocamp.com /
Cesium
7/32www.camptocamp.com /
Was wollen wir im Geospatial 3D Web?
■ 3D Szenen
○ Luftbilder und Geländemodell
○ Gebäude mit Texturen
○ Label und Marker
○ Interaktivität (Navigate, pick, popup, measure, usw.)
○ Globaler Perimeter mit höherer lokalen Genauigkeit
■ Technologie
○ Web (kein plugin), Cross Platform and Cross Device
○ Offene Standards und Formate
○ Open Source
■ Was gibt's ?
8/32www.camptocamp.com /
Web ?
9/32www.camptocamp.com /
WebGL !
■ 3D-Grafik-Programmierschnittstelle für Webbrowser
■ Ermöglicht Hardwarebeschleunigung (GPU)
■ WebGL Programm
○ Kontrollen in Javascript (CPU)
○ Shader code (GPU)
■ Erfordert kein Plugin ! Auch für Internet Explorer 11
■ Android Mobile fähig : Firefox, Sony Android
Browser, Opera
10/32www.camptocamp.com /
Offene Standards ?
11/32www.camptocamp.com /
Unterschiedliche Standard-Welten
■ Geo: OGC
○ 3D Portrayal Services (Proposals: WVS WMS-Like & W3DS WFS-Like)
○ KML – XML/COLLADA
○ CityGML - representation, storage, and exchange
○ CZML (AGI/Cesium) ?
■ Geo: OSGEO
○ TMS (Cesium Terrain Server z.B)
■ Web: Web3d
○ X3D - Extensible 3D Graphics
■ Graphics: Khronos Group
○ COLLADA – eXchange / interoperability
○ glTF – graphic language Transmission Format
12/32www.camptocamp.com /
3D Portrayal Service (3DPS)
■ Ziel:
○ Eine offene Schnittstelle für die Darstellung von grossen
3D Geospatial Datenmengen im Web
○ 3D Szenen sowie Bilder
13/32www.camptocamp.com /
OGC - W3DS
■ OGC draft Spezifikation für eine 3D Szene, ~WFS
■ Beispiel Abfrage :
○ http://xyz.org/geoserver/w3ds?
version=0.4&service=w3ds&
request=GetScene&
format=model/x3d+xml&
crs=EPSG:25833&
boundingbox=407255,5866253,483505,5940003&
layers=layername
■ Ergebnis: X3D Datei
14/32www.camptocamp.com /
Datenformate Challenges
■ Kompakte Objekt Abbildung
○ Bandbreite
■ Progressive Übertragung
○ Streaming
○ LOD
■ Schnelle Objekt-Darstellung
○ Viel GPU, wenig CPU
■ Anwendungs unabhängig
○ Shader code Mesh encodings for X3DOM:Recent Advances
by Max Limper and Johannes Behr, Fraunhofer IGD
15/32www.camptocamp.com /
X3D Geometrien
■ Basic primitives (Box, Cone Cylinder, Sphere)
■ IndexedFaceSet (3D shape formed by constructing faces
- polygons) <IndexedFaceSet coordIndex='0 11 12 -1
12 1 0 -1 etc />
<Coordinate point='0.7000 1.2000 0.0000, 0.6930 1.2177
0.0000, etc />
○ => Riesige HTML Seiten, CPU + Lade Zeit
■ X3dom Optimierungen
○ Binary Geometry employs several files to store the index and
geometry data directly in the requested precision
○ Progressively Ordered Primitive (POP) Buffer
16/32www.camptocamp.com /
CZML - Cesium Language
■ Beschreibt
○ Graphische Szenen
○ Zeit-Dynamische Daten
■ Merkmale
○ JSON Struktur
○ Linie, Punkte, Markers, Modelle
○ Zeitliche Änderungen
○ Unterstützt Datenstreaming
○ Erweiterbar
17/32www.camptocamp.com /
CZML Example
{
"id": "InternationalSpaceStation",
"position": {
"referenceFrame": "INERTIAL",
"epoch": "2012-05-02T12:00:00Z",
"cartesian": [
0.0, -6668447.2211117, 1201886.45913705, 146789.427467256,
60.0, -6711432.84684144, 919677.673492462, -214047.552431458,
90.0, -6721319.92231553, 776899.784034099, -394198.837519575,
150.0, -6717826.447064, 488820.628328182, -752924.980158179,
180.0, -6704450.41462847, 343851.784836767, -931084.800346031,
240.0, -6654518.44949696, 52891.726433174, -1283967.69137678
],
"nextTime": 300.0,
"interpolationAlgorithm": "LAGRANGE",
"interpolationDegree": 5
}
}
18/32www.camptocamp.com /
glTF graphic language Transmission Format
■ JSON für die Beschreibung der Knoten Hierarchie
■ Knoten verweisen auf EXTERNE binäre Daten
○ Geometry, Texturen, Material
■ Unkomprimierte externe Binäre Daten
○ Daten direkt in WebGL laden
■ Erweiterbar
○ Streaming und Komprimierung
19/32www.camptocamp.com /
Open Source Software ?
20/32www.camptocamp.com /
Open Source Implementierungen
■ PostGIS – speichert und exportiert 3D Daten
○ Export X3D data: ST_AsX3D
■ Geoserver
○ Bietet eine W3DS API (getScene & getTile) an
○ Unterstützt X3D & Cesium Terrain API
■ X3dom
○ JS API für die Darstellung und Interaktion mit X3D Daten
■ CesiumJS
○ Komplettes Softwarepaket für die 3D Datenprozessierung
sowie die Web Darstellung und Navigation
21/32www.camptocamp.com /
PostGIS/Geoserver W3DS/X3D/X3DOM
22/32www.camptocamp.com /
X3DOM – JS Library
23/32www.camptocamp.com /
X3DOM
■ Experimental Open Source Framework
■ Darstellung mit WebGL
■ Web3D & W3C Standardisierungs Prozess
■ Ziel : 3D Objekte im Web
■ Einfach zu manipulieren (HTML5 DOM)
■ Untersützt HTML Events (Bsp : OnClick)
24/32www.camptocamp.com /
X3dom - Hello World Example
<html>
<head>
<script type="text/javascript" src="x3dom.js"></script>
</head>
<body>
<x3d xmlns="http://www.x3dom.org/x3dom ...>
<scene>
<viewpoint position='0 0 10' ></viewpoint>
<shape>
<appearance>
<material diffuseColor='0.603 0.894 0.909' ></material>
</appearance>
<box DEF='box'></box> //Würfeln
</shape>
</scene>
</x3d>
</body>
</html>
25/32www.camptocamp.com /
Cesium – 3 views, WebGL
26/32www.camptocamp.com /
CesiumJS
■ Javascript Software mit WebGL für die Darstellung
○ Virtueller Globus
○ 2D map
○ 2.5D Collombus View
■ Zeit dynamische Szenen mit CZML
■ Unterschiedliche Geländemodellquellen
■ Raster Overlays in WMS, TMS, OSM, Bing & Esri
■ Vector Overlays KML & Shapefiles
■ Erweiterbar mit Plugins
27/32www.camptocamp.com /
CZML 3D + dynamische Darstellung
28/32www.camptocamp.com /
Cesium – Gelände + Overlay
29/32www.camptocamp.com /
Cesium Sandcastle
30/32www.camptocamp.com /
OpenLayers 3 – Cesium Integration
31/32www.camptocamp.com /
Zusammenfassung
■ Sehr grosse Aktivität im WebGL 3D Bereich
○ Big Players setzen neue Tendenzen
○ Standardisierung
○ Weitgehende/reife Prototypen
■ WebGL Verbreitung (auch Microsoft ist dabei)
■ Wichtige Elemente :
○ Datenmenge : Speichern / Prozessieren / Übertragen / Streamen
○ CPU/GPU Optimierung
○ Web3D Implementierungen & Encoding Möglichkeiten für eine optimale
Geospatial Benutzung
○ Schwierigkeit : Datenformate und Darstellung sind eng gebunden.
Interoperabilität ?
■
FOSSGIS 2014 : Geospatial 3D Web (GER)

Weitere ähnliche Inhalte

PDF
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
PDF
WebVR: Developing for the Immersive Web
PDF
Introduction to WebVR Autodesk Forge 2016
PDF
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
PDF
3D Printing - A 2014 Horizonwatching Trend Summary Report
PDF
FOSSGIS 2014: geOrchestra
PDF
WebGL für Geospatial
PDF
Google Analytics Konferenz 2018_Data Studio Advanced_Martin Frotzler (e-dialog)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
WebVR: Developing for the Immersive Web
Introduction to WebVR Autodesk Forge 2016
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
3D Printing - A 2014 Horizonwatching Trend Summary Report
FOSSGIS 2014: geOrchestra
WebGL für Geospatial
Google Analytics Konferenz 2018_Data Studio Advanced_Martin Frotzler (e-dialog)

Ähnlich wie FOSSGIS 2014 : Geospatial 3D Web (GER) (20)

PDF
GPUs — Vom spezialisierten Coprozessor zum Numbercruncher
PDF
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
PDF
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
PDF
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
PDF
Citrix Day 2014: HDX 3D for Professional Graphics
PDF
Zentrales Logging mit Elasticsearch
PDF
20121008 io-performance
PDF
Drupal Austria Roadshow in Klagenfurt
PDF
MapFish
PPTX
Dynamische Webprogrammierung mit der GoogleMaps API
PDF
Java-Anwendungen betreiben mit Durchblick
PPTX
Web-Streams und Web-Geoinformationssysteme
PDF
Kommunikationswerkzeug Globuskarte
PDF
Zukunftstrends: was bringt 2013 für die IT?
PDF
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
PPTX
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
PDF
3D - Spiel mit der Technik, Tekom 2016
PPTX
Windows 10 IoT Core
ODP
Kommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
PDF
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
GPUs — Vom spezialisierten Coprozessor zum Numbercruncher
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
Citrix Day 2014: HDX 3D for Professional Graphics
Zentrales Logging mit Elasticsearch
20121008 io-performance
Drupal Austria Roadshow in Klagenfurt
MapFish
Dynamische Webprogrammierung mit der GoogleMaps API
Java-Anwendungen betreiben mit Durchblick
Web-Streams und Web-Geoinformationssysteme
Kommunikationswerkzeug Globuskarte
Zukunftstrends: was bringt 2013 für die IT?
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
3D - Spiel mit der Technik, Tekom 2016
Windows 10 IoT Core
Kommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
Anzeige

Mehr von Camptocamp (20)

PDF
ERP et customisation : comment éviter l’usine à gaz ?
PDF
10 points-clés incontournables pour réussir votre projet ERP
PDF
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
PDF
Geo mapfish 2_foss4g-eu_2017
PDF
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
PDF
Data processing qgis3_foss4g-eu_2017
PDF
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
PDF
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
PDF
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
PDF
[Geocom2017] geOrchestra and ngeo
PDF
[Geocom2017] Georchestra & monitoring
PDF
GeoMapFish, the Open Source WebGIS
PDF
NGEO – OpenLayers meets Angular
PDF
OpenLayers 3 & Google Closure Compiler
PDF
MapFish Print 3
PDF
georchestra SDI: Project Status Report
PDF
GeoMapFish, the Open Source WebGIS
PDF
Présentation GeoMapFish
PDF
OpenLayers 3
PDF
Une IDS scalable et résiliente avec geOrchestra & Docker
ERP et customisation : comment éviter l’usine à gaz ?
10 points-clés incontournables pour réussir votre projet ERP
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Geo mapfish 2_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
[Geocom2017] geOrchestra and ngeo
[Geocom2017] Georchestra & monitoring
GeoMapFish, the Open Source WebGIS
NGEO – OpenLayers meets Angular
OpenLayers 3 & Google Closure Compiler
MapFish Print 3
georchestra SDI: Project Status Report
GeoMapFish, the Open Source WebGIS
Présentation GeoMapFish
OpenLayers 3
Une IDS scalable et résiliente avec geOrchestra & Docker
Anzeige

FOSSGIS 2014 : Geospatial 3D Web (GER)

  • 1. 3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com
  • 7. 7/32www.camptocamp.com / Was wollen wir im Geospatial 3D Web? ■ 3D Szenen ○ Luftbilder und Geländemodell ○ Gebäude mit Texturen ○ Label und Marker ○ Interaktivität (Navigate, pick, popup, measure, usw.) ○ Globaler Perimeter mit höherer lokalen Genauigkeit ■ Technologie ○ Web (kein plugin), Cross Platform and Cross Device ○ Offene Standards und Formate ○ Open Source ■ Was gibt's ?
  • 9. 9/32www.camptocamp.com / WebGL ! ■ 3D-Grafik-Programmierschnittstelle für Webbrowser ■ Ermöglicht Hardwarebeschleunigung (GPU) ■ WebGL Programm ○ Kontrollen in Javascript (CPU) ○ Shader code (GPU) ■ Erfordert kein Plugin ! Auch für Internet Explorer 11 ■ Android Mobile fähig : Firefox, Sony Android Browser, Opera
  • 11. 11/32www.camptocamp.com / Unterschiedliche Standard-Welten ■ Geo: OGC ○ 3D Portrayal Services (Proposals: WVS WMS-Like & W3DS WFS-Like) ○ KML – XML/COLLADA ○ CityGML - representation, storage, and exchange ○ CZML (AGI/Cesium) ? ■ Geo: OSGEO ○ TMS (Cesium Terrain Server z.B) ■ Web: Web3d ○ X3D - Extensible 3D Graphics ■ Graphics: Khronos Group ○ COLLADA – eXchange / interoperability ○ glTF – graphic language Transmission Format
  • 12. 12/32www.camptocamp.com / 3D Portrayal Service (3DPS) ■ Ziel: ○ Eine offene Schnittstelle für die Darstellung von grossen 3D Geospatial Datenmengen im Web ○ 3D Szenen sowie Bilder
  • 13. 13/32www.camptocamp.com / OGC - W3DS ■ OGC draft Spezifikation für eine 3D Szene, ~WFS ■ Beispiel Abfrage : ○ http://xyz.org/geoserver/w3ds? version=0.4&service=w3ds& request=GetScene& format=model/x3d+xml& crs=EPSG:25833& boundingbox=407255,5866253,483505,5940003& layers=layername ■ Ergebnis: X3D Datei
  • 14. 14/32www.camptocamp.com / Datenformate Challenges ■ Kompakte Objekt Abbildung ○ Bandbreite ■ Progressive Übertragung ○ Streaming ○ LOD ■ Schnelle Objekt-Darstellung ○ Viel GPU, wenig CPU ■ Anwendungs unabhängig ○ Shader code Mesh encodings for X3DOM:Recent Advances by Max Limper and Johannes Behr, Fraunhofer IGD
  • 15. 15/32www.camptocamp.com / X3D Geometrien ■ Basic primitives (Box, Cone Cylinder, Sphere) ■ IndexedFaceSet (3D shape formed by constructing faces - polygons) <IndexedFaceSet coordIndex='0 11 12 -1 12 1 0 -1 etc /> <Coordinate point='0.7000 1.2000 0.0000, 0.6930 1.2177 0.0000, etc /> ○ => Riesige HTML Seiten, CPU + Lade Zeit ■ X3dom Optimierungen ○ Binary Geometry employs several files to store the index and geometry data directly in the requested precision ○ Progressively Ordered Primitive (POP) Buffer
  • 16. 16/32www.camptocamp.com / CZML - Cesium Language ■ Beschreibt ○ Graphische Szenen ○ Zeit-Dynamische Daten ■ Merkmale ○ JSON Struktur ○ Linie, Punkte, Markers, Modelle ○ Zeitliche Änderungen ○ Unterstützt Datenstreaming ○ Erweiterbar
  • 17. 17/32www.camptocamp.com / CZML Example { "id": "InternationalSpaceStation", "position": { "referenceFrame": "INERTIAL", "epoch": "2012-05-02T12:00:00Z", "cartesian": [ 0.0, -6668447.2211117, 1201886.45913705, 146789.427467256, 60.0, -6711432.84684144, 919677.673492462, -214047.552431458, 90.0, -6721319.92231553, 776899.784034099, -394198.837519575, 150.0, -6717826.447064, 488820.628328182, -752924.980158179, 180.0, -6704450.41462847, 343851.784836767, -931084.800346031, 240.0, -6654518.44949696, 52891.726433174, -1283967.69137678 ], "nextTime": 300.0, "interpolationAlgorithm": "LAGRANGE", "interpolationDegree": 5 } }
  • 18. 18/32www.camptocamp.com / glTF graphic language Transmission Format ■ JSON für die Beschreibung der Knoten Hierarchie ■ Knoten verweisen auf EXTERNE binäre Daten ○ Geometry, Texturen, Material ■ Unkomprimierte externe Binäre Daten ○ Daten direkt in WebGL laden ■ Erweiterbar ○ Streaming und Komprimierung
  • 20. 20/32www.camptocamp.com / Open Source Implementierungen ■ PostGIS – speichert und exportiert 3D Daten ○ Export X3D data: ST_AsX3D ■ Geoserver ○ Bietet eine W3DS API (getScene & getTile) an ○ Unterstützt X3D & Cesium Terrain API ■ X3dom ○ JS API für die Darstellung und Interaktion mit X3D Daten ■ CesiumJS ○ Komplettes Softwarepaket für die 3D Datenprozessierung sowie die Web Darstellung und Navigation
  • 23. 23/32www.camptocamp.com / X3DOM ■ Experimental Open Source Framework ■ Darstellung mit WebGL ■ Web3D & W3C Standardisierungs Prozess ■ Ziel : 3D Objekte im Web ■ Einfach zu manipulieren (HTML5 DOM) ■ Untersützt HTML Events (Bsp : OnClick)
  • 24. 24/32www.camptocamp.com / X3dom - Hello World Example <html> <head> <script type="text/javascript" src="x3dom.js"></script> </head> <body> <x3d xmlns="http://www.x3dom.org/x3dom ...> <scene> <viewpoint position='0 0 10' ></viewpoint> <shape> <appearance> <material diffuseColor='0.603 0.894 0.909' ></material> </appearance> <box DEF='box'></box> //Würfeln </shape> </scene> </x3d> </body> </html>
  • 26. 26/32www.camptocamp.com / CesiumJS ■ Javascript Software mit WebGL für die Darstellung ○ Virtueller Globus ○ 2D map ○ 2.5D Collombus View ■ Zeit dynamische Szenen mit CZML ■ Unterschiedliche Geländemodellquellen ■ Raster Overlays in WMS, TMS, OSM, Bing & Esri ■ Vector Overlays KML & Shapefiles ■ Erweiterbar mit Plugins
  • 27. 27/32www.camptocamp.com / CZML 3D + dynamische Darstellung
  • 30. 30/32www.camptocamp.com / OpenLayers 3 – Cesium Integration
  • 31. 31/32www.camptocamp.com / Zusammenfassung ■ Sehr grosse Aktivität im WebGL 3D Bereich ○ Big Players setzen neue Tendenzen ○ Standardisierung ○ Weitgehende/reife Prototypen ■ WebGL Verbreitung (auch Microsoft ist dabei) ■ Wichtige Elemente : ○ Datenmenge : Speichern / Prozessieren / Übertragen / Streamen ○ CPU/GPU Optimierung ○ Web3D Implementierungen & Encoding Möglichkeiten für eine optimale Geospatial Benutzung ○ Schwierigkeit : Datenformate und Darstellung sind eng gebunden. Interoperabilität ? ■