SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

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

Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindeninovex GmbH
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindeninovex GmbH
 
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitHTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitJonathan Weiß
 
Citrix Day 2014: HDX 3D for Professional Graphics
Citrix Day 2014: HDX 3D for Professional GraphicsCitrix Day 2014: HDX 3D for Professional Graphics
Citrix Day 2014: HDX 3D for Professional GraphicsDigicomp Academy AG
 
Zentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchZentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchSimonSchneider24
 
20121008 io-performance
20121008 io-performance20121008 io-performance
20121008 io-performanceWerner Fischer
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurtdasjo
 
Dynamische Webprogrammierung mit der GoogleMaps API
Dynamische Webprogrammierung mit der GoogleMaps APIDynamische Webprogrammierung mit der GoogleMaps API
Dynamische Webprogrammierung mit der GoogleMaps APIChristian Kehl
 
Java-Anwendungen betreiben mit Durchblick
Java-Anwendungen betreiben mit DurchblickJava-Anwendungen betreiben mit Durchblick
Java-Anwendungen betreiben mit DurchblickTobias Frech
 
Web-Streams und Web-Geoinformationssysteme
Web-Streams und Web-GeoinformationssystemeWeb-Streams und Web-Geoinformationssysteme
Web-Streams und Web-GeoinformationssystemeChristian Kehl
 
Kommunikationswerkzeug Globuskarte
Kommunikationswerkzeug GlobuskarteKommunikationswerkzeug Globuskarte
Kommunikationswerkzeug GlobuskartePeter Löwe
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Werner Fischer
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunVerein FM Konferenz
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016Robert Siegel
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT CoreJens Siebert
 
Kommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
Kommunikationswerkzeug Globuskarte: Globusbrowser und RenderingKommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
Kommunikationswerkzeug Globuskarte: Globusbrowser und RenderingPeter Löwe
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM.org
 

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

GPUs — Vom spezialisierten Coprozessor zum Numbercruncher
GPUs — Vom spezialisierten Coprozessor zum NumbercruncherGPUs — Vom spezialisierten Coprozessor zum Numbercruncher
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 verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting 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
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitHTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
 
Citrix Day 2014: HDX 3D for Professional Graphics
Citrix Day 2014: HDX 3D for Professional GraphicsCitrix Day 2014: HDX 3D for Professional Graphics
Citrix Day 2014: HDX 3D for Professional Graphics
 
Zentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchZentrales Logging mit Elasticsearch
Zentrales Logging mit Elasticsearch
 
20121008 io-performance
20121008 io-performance20121008 io-performance
20121008 io-performance
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
 
MapFish
MapFishMapFish
MapFish
 
Dynamische Webprogrammierung mit der GoogleMaps API
Dynamische Webprogrammierung mit der GoogleMaps APIDynamische Webprogrammierung mit der GoogleMaps API
Dynamische Webprogrammierung mit der GoogleMaps API
 
Java-Anwendungen betreiben mit Durchblick
Java-Anwendungen betreiben mit DurchblickJava-Anwendungen betreiben mit Durchblick
Java-Anwendungen betreiben mit Durchblick
 
Web-Streams und Web-Geoinformationssysteme
Web-Streams und Web-GeoinformationssystemeWeb-Streams und Web-Geoinformationssysteme
Web-Streams und Web-Geoinformationssysteme
 
Kommunikationswerkzeug Globuskarte
Kommunikationswerkzeug GlobuskarteKommunikationswerkzeug Globuskarte
Kommunikationswerkzeug Globuskarte
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?
 
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich BogunFMK - Xojo als FileMaker Alternative? by Ulrich Bogun
FMK - Xojo als FileMaker Alternative? by Ulrich Bogun
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
Kommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
Kommunikationswerkzeug Globuskarte: Globusbrowser und RenderingKommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
Kommunikationswerkzeug Globuskarte: Globusbrowser und Rendering
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
 

Mehr von Camptocamp

ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?Camptocamp
 
10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERP10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERPCamptocamp
 
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...Camptocamp
 
Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017Camptocamp
 
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017Camptocamp
 
Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017Camptocamp
 
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGISAGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGISCamptocamp
 
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map EngineAGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map EngineCamptocamp
 
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDIAGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDICamptocamp
 
[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeo[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeoCamptocamp
 
[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoring[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoringCamptocamp
 
GeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISGeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISCamptocamp
 
NGEO – OpenLayers meets Angular
NGEO – OpenLayers meets AngularNGEO – OpenLayers meets Angular
NGEO – OpenLayers meets AngularCamptocamp
 
OpenLayers 3 & Google Closure Compiler
OpenLayers 3 & Google Closure CompilerOpenLayers 3 & Google Closure Compiler
OpenLayers 3 & Google Closure CompilerCamptocamp
 
MapFish Print 3
MapFish Print 3MapFish Print 3
MapFish Print 3Camptocamp
 
georchestra SDI: Project Status Report
georchestra SDI: Project Status Reportgeorchestra SDI: Project Status Report
georchestra SDI: Project Status ReportCamptocamp
 
GeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISGeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISCamptocamp
 
Présentation GeoMapFish
Présentation GeoMapFishPrésentation GeoMapFish
Présentation GeoMapFishCamptocamp
 
Une IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerUne IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerCamptocamp
 

Mehr von Camptocamp (20)

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

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 ? ■