3D webservices - where do we stand?
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 71 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/14811 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Berlin |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
InternetdienstWEBGoogle MapsPrototypeComputer animationLecture/Conference
00:38
Google MapsGoogleWEBOpen sourceComputer animation
01:21
WEBDirection (geometry)Computer animation
01:42
WEB
02:12
Open sourceWEBForm (programming)WEBInformationDirection (geometry)Computer animation
03:21
Web browserFile formatInternetdienstOpen sourceLösung <Mathematik>DatenformatStandard deviationOperating systemWEBAchse <Mathematik>Scale (map)Lecture/Conference
04:50
Android (robot)Firefox <Programm>Internet ExplorerBefehlsprozessorJavaScriptGraphics processing unitCodeWeb browserComputer programStatement (computer science)Video cardWEBWeb-AnwendungWeb browserRoute of administrationComputer animation
05:39
Standard deviationComputer programInternet ExplorerVersion <Informatik>InternetPlug-in (computing)Lecture/Conference
06:19
GeometryInternetdienstWorld Wide WebManufacturing execution systemSummierbarkeitSun <Marke>IMSServer (computing)Artificial neural networkGEMACIDWeb serviceStandard deviationWeb browserAtomic nucleusForm (programming)Lösung <Mathematik>InternetdienstWeb pageWEBComputer animation
08:14
Client (computing)Video cardStandard deviationDatenformatWeb pageLecture/Conference
09:15
Web serviceWEBInterface (computing)Query languageComputer fileObject (grammar)Abbildung <Physik>Streaming mediaGraphics processing unitBefehlsprozessorHTMLIndexGeometryBASICCylinder (geometry)Video cardIndexX3DObject (grammar)Sierpinski triangleClient (computing)Query languageTransmitterCelestial sphereDatenformatServer (computing)RechenkapazitätStatement (computer science)CubePhysical quantityGRADERoute of administrationComputer fileCoordinate systemComputer animation
12:54
Computer programmingMathematical optimizationCoordinate systemLecture/Conference
13:30
LinieDirection (geometry)Computer animation
13:55
TexturElectric power transmissionIBMMagneto-optical driveLocally compact spaceString (computer science)GeometryGeoServerAPIWEBX3DOpen sourceBinary fileRoundingImplementationFile formatData transmissionOpen sourceComputer programStreaming mediaWEBVideo cardObject (grammar)Lecture/ConferenceComputer animation
15:51
X3DGeoServerSummierbarkeitComponent-based software engineeringGeoServerComputer animation
16:14
WEBHTML 5.0Binary space partitioningHTMLOpen sourcePoint (geometry)Electric power transmissionObject (grammar)Web pageHTMLStandard deviationComputer animation
16:53
Adaptive behaviorObject (grammar)Computer programmingLecture/Conference
17:19
Sound <Multimedia>Artificial neural networkPerspective (visual)Computer animation
17:42
WEBSoftwareJavaScriptLevel (video gaming)Object (grammar)InternetdienstSatelliteSpring (hydrology)Computer animation
18:11
Plug-in (computing)Data typeLecture/Conference
18:45
Overlay-NetzComputer animation
19:12
Computer animation
19:42
Object (grammar)Geographic information systemLösung <Mathematik>Direction (geometry)Library (computing)
20:13
Object (grammar)GoogleGebiet <Mathematik>Lecture/Conference
20:41
MicrosoftComputer programmingRoute of administrationPrototypeDatenformatTransmitterProcess (computing)NumberImplementationWeb browserCoordinate systemGoogleMicrosoftCubeComputer animation
22:48
Process (computing)Lecture/Conference
24:04
Computer animation
Transcript: German(auto-generated)
00:07
So, zu meinem Vortrag, es geht um 3D-Webdienste auf dem Web und die Frage ist eigentlich, wo stehen wir? Kurz zu meiner Person, ich bin Emmanuel Belot und arbeite bei Camp2Camp.
00:21
So, vor ein paar Jahren gab es bei Google Maps erste Prototypen und Beta-Versionen von 3D-Webmaps. Und seit kurzem, das ist nicht mehr ein Prototyp, sondern das ist tatsächlich online für jedermann. Man sieht hier auf googlemaps.com oder .de, dass es so eine Globus-Sicht gibt,
00:44
auch mit relativ aktualisierten Daten zum Wetter, also die Wolken, die aktualisieren sich regelmäßig. Es ist tatsächlich 3D, wenn man hineinzoomt, hier ein Sicht von der Stadt Lausanne. Es gibt diese Gebäude, die mit der Textur, die Fassaden, schön dargestellt sind.
01:06
Und auch hier diese Brücke. Man kann durch die Brücke schauen, es sind tatsächlich 3D-Gebäude. Aber nicht nur Google macht 3D-Ansichten auf dem Web. Es gibt auch zum Beispiel Nokia mit den Here-Maps und auch Open-Source-Lösungen wie Open Web Globe.
01:29
Diese Folie zeigt, dass eigentlich mit guten und genauen Daten eine 3D-Ansicht auf dem Web erreicht, eine sehr hohe Qualität. Oder auch Sysium, das geht eigentlich auch in Richtung 4D-Daten.
01:46
Man kann die Segelschirme, diese Leute, die verfolgen live entlang der Reise.
02:01
3D auf dem Web ist nicht nur eine Idee, sondern es sind konkrete Anwendungen, die das ermöglichen. Die Frage ist, was wollen wir als Geospatial 3D-Web? Zuerst geht es um die Darstellung. Wir möchten 3D-Szene auf dem Web darstellen.
02:24
Das heißt, wir möchten das Geländemodell darstellen mit den Luftbildern drauf. Man möchte auch in diese Szene Gebäude mit den Texturen, mit den Fassaden, schöne Texturen. Es braucht auch die Möglichkeit, Labels zu platzieren, wie Marker, Point of Interest usw.
02:42
Oder weitere geometrische Formen. Natürlich soll das auch völlig interaktiv sein in Richtung Web 2.0, sehr ergonomisch. Das heißt, navigieren, vielleicht auf die Karte klicken, ein Objekt selektieren, ein Pop-Up, Informationen zu einem Objekt messen, vielleicht in der Zukunft auch editieren.
03:04
Wenn wir denken an den Use-Case, oft hat man für eine begrenzte Zone Daten mit einer hohen Genauigkeit. Aber man möchte, dass diese lokale Genauigkeit in einem globalen Kontext dargestellt wird.
03:25
Das heißt, es braucht ein Globus und auch die Möglichkeit, hinein zu zoomen, bis in einer Stadt, wo in der Maßstab der Stadt dann genaue Daten vorliegen. Das sind die Use-Case oder Elemente, die wir im Web darstellen möchten. Aber es geht auch um die Technologie.
03:42
Wir möchten sicher eine völlig Web-Lösung. Das heißt, man möchte kein Plugin, es soll auf alle Gerätetypen laufen, es soll auf alle Betriebssysteme, es soll unabhängig vom Browser sein. So, völlig Web. Dann natürlich braucht es, hier bei der FOSGIS im Bereich Open Source Software,
04:06
sind wir auch stark an offenen Standards gerichtet. Das heißt, es sollte auch offene Standards vorliegen, sowie offene Datenformate, um eigentlich Web-Dienste abzufragen und Daten auszutauschen.
04:20
Und es wäre auch sehr schön, wenn das eigentlich auch Open Source Lösungen vorhanden sind, um diese Web-Dienste zu nutzen und auch darzustellen. Meine Präsentation geht auf diese drei Achsen. Web ist eigentlich eine State-of-the-art-Review. Was gibt es im Bereich Web ohne Plugin?
04:42
Welche Standards sind da? Welche Formate? Und was gibt es als Open Source Lösungen? Im Web ist es jetzt durchaus möglich, 3D-Daten im Web darzustellen, im Browser, eigentlich mit der Norm WebGL.
05:01
WebGL ist eine Variation der OpenGL-Norm, die eigentlich im Browser läuft und das ermöglicht, von einer Web-Anwendung die Stärke der Grafikkarte zu nutzen. Das heißt, was gibt Anwendung, die ermöglicht, dass man mit der 3D-Globus interagiert,
05:24
beinhaltet auch Shader-Code, das eigentlich Befehle an die Grafikkarte sendet und das ermöglicht zum Beispiel, dass das gelände Modell, so vektoriell, dass man drauf noch Luftbilder darlegen kann.
05:41
So, mit WebGL, das funktioniert auf alle Browser, es braucht kein Plugin. Und noch vor kurzem war die Frage eigentlich, aber was gibt es mit Internet Explorer? Und jetzt mit der Version 11 von Internet Explorer ist es auch möglich, WebGL-Programme laufen zu lassen. Und es gibt auch einen Trend, das ist noch der Anfang, aber es geht auch in Richtung,
06:04
dass WebGL auf mobile Geräte unterstützt wird. So würde ich sagen, für dieses Aspekt kein Plugin, es gibt eine Lösung, diese Lösung. Dann zur Standards, was gibt es als offene Standards zurzeit?
06:26
Eigentlich gibt es einen sehr breiten Interesse, 3D-Daten im Web darzustellen. Und man sieht, dass mehrere Standardorganisationen versuchen, das zu standardisieren,
06:40
weil die brauchen eine Lösung. Von der Seite der OGC, es braucht Web-Dienste, um geografische Daten auf das Web zu senden. Aber rein im Bereich von Web 3D oder W3C, es braucht auch die Möglichkeit zu würfeln, Elemente, um geografische Formen in eine Webseite zu integrieren.
07:06
Es gibt bestimmte Elemente wie das 3D Portraital Service von der OGC, wo man versucht zu standardisieren, ähnlich wie WMS oder WFS, wie man so eine Szene über Web-Service zum Browser senden kann oder ein 3D-Bild.
07:25
Es gibt andere Standards bei der OGC wie KML, die ermöglichen, 3D-Daten zu inkodieren auf Basis von XML und Colada. Es ist vielleicht nicht sehr geeignet für größere Datenmenge, so ich werde das nicht weiter verfolgen.
07:41
Es gibt auch City-GML, das ist auch eine Norm, um 3D-Daten zu inkodieren. Das geht mehr für die Darstellung, Speicherung und Transferierung zwischen den Systemen, aber es ist nicht sehr weborientiert. Datenmenge und so weiter können problematisch sein.
08:04
Und es sind auch Open-Source-Lösungen, die eigene Lösungen entwickeln und vielleicht die Hoffnung haben, dass es einmal als Standardbasis genutzt werden könnte.
08:25
Wenn man das von der Webseite W3C oder Web3D anschaut, gibt es das X3D-Datenformat auf Basis von XML, das standardisiert ist.
08:43
Und auch Leute, die von der Welt der Computers-Grafik kommen, haben das Colada-Standard für den Datenaustausch, aber auch den Graphik-Language-Transfer-Format, das stark an der Grafikkarte orientiert ist,
09:02
sodass es sehr schnell durch die Grafikkarte gelesen werden kann. Ich werde auf diese Elemente, die etwas fett gezeichnet sind, näher in Detail gehen. Wie würde so ein 3D-Portraital-Service funktionieren? Man hat eigentlich wie für eine Web2.0-Anwendung einen Backend mit 3D-Modellen.
09:26
Und darauf hat man einen Server, der Webdienste anbietet. Und mit dieser Webdienste kann man die Darstellung, die Szene der Client senden. Und dann das Rendering, das erfolgt auf der Client.
09:45
Das wäre eine Art WFS. Und es gibt auch der andere Ansatz, wie WMS, dass eigentlich die Grafikkarte auf der Server ein Bild generieren würde und dass nur dieses Bild eigentlich gesendet wird. Zum Beispiel im Fall, der Client wenig Rechenkapazität hat.
10:05
Bei der OGC gibt es W3DS, eine Draft-Spezifikation. Und das ist ganz normal wie eine WFS oder WMS-Abfrage. Das heißt, man sagt, was für eine Request-Get-Scene, was für ein Output-Format, zum Beispiel X3D,
10:24
was für eine Projektion, was für eine Bonding-Box, welche Layer und so weiter. Und dann dank dieser Abfrage bekommt man eine X3D-Datei. Wenn es um die Datenformate geht, es gibt eigentlich ein Challenge,
10:43
dass eigentlich man einen Kompromiss finden muss zwischen verschiedenen Elementen. Eigentlich die Datenmenge für eine 3D-Visualisierung, das kann eigentlich eine große Datenmenge sein. Das heißt, man soll so eine kompakte Objekte-Abbildung finden,
11:03
um die Bondbreite zu schonen. Aber gleich, zum Beispiel so eine Komprimierung wäre sehr geeignet. Aber gleich, man möchte eigentlich, dass diese Objekte schnell in der Grafikkarte dargestellt werden, durch die Grafikkarte dargestellt werden. Das heißt, es sollte nicht komprimiert, sondern in einem Format geeignet für die Grafikkarte sein.
11:25
Oder man möchte auch vielleicht nicht das ganze Modell auf einmal laden, sondern progressiv. Das heißt, es sollte auch ein Format geben, dass man schon etwas darstellen kann, auch wenn nicht die ganze Daten übertragen ist,
11:42
so Streaming oder unterschiedliche Level of Detail. Und vielleicht noch ein viertes Punkt. Eigentlich die Grafikkarte, man freit Schedercode, um Befehle an die Grafikkarte zu senden, bezüglich der Objekte. Und das heißt,
12:03
das Format der Daten, das ist etwas auch gebunden an, wie die Anwendung programmiert ist für die Darstellung. Das heißt, es gibt hier eine Schwierigkeit,
12:20
um eine gemeinsame Basis zu haben. Was gibt es? Zum Beispiel X3D. X3D, das ist ja möglichst so basic primitive, wie ein Würfel, eine Sphäre usw. zu inkodieren. Und auch Index-Face-Set. Das sind Dreiecken, eine Maschenweite von Dreiecken.
12:42
Und dank diesen Dreiecken kann man eigentlich so ein Gebirge, ein Haus usw. darstellen. Das hat zur Folge, dass man ein Dokument hat, und dann nehmen wir eine HTML-Seite mit der Index und dann alle Koordinaten. Und wenn es ein komplexes Modell, ein großes Modell gibt,
13:00
dann hat man riesige HTML-Seiten. Es gibt Optimierungen in dem Bereich, die Daten im Binary zu inkodieren oder die Daten so progressiv zu strukturieren, dass man sie progressiv lesen kann. Ich würde das noch etwas weiter verfolgen.
13:23
Also, es gibt auch vielleicht ein anderes Format, das ist noch nicht standardisiert, aber der ist gut beschrieben. Das ist Cesium-Language. Und das ermöglicht, so grafische Szenen zu inkodieren, sowie zeitdynamische Daten. Das heißt, wenn es gibt zum Beispiel ein Objekt,
13:41
das sich bewegt, man kann über die Zeit den verfolgen und das darstellen. Das geht etwas mehr in Richtung Web, mit einer JSON-Struktur und dem Format, der unterstützt Daten-Streaming. So könnte es als JSON-Datei dargestellt werden.
14:03
So mit eigentlich hier in der Mitte Cartesian und dann mit der Zeit die unterschiedliche Positionierung der Element. Und dann gibt es einen Interpellationsprozess in die Anwendung, das macht eine schöne Bewegung des Objekts. Und noch so Graphic Language Transmission Format.
14:26
Und der ist auch JSON-strukturiert, verweist auf externe binäre Daten, so effiziente Datenübertragung. Und diese binäre Daten, die sind nun komprimiert, sodass die eigentlich in die Grafikkarte schnell integriert werden können.
14:44
Und der ist auch, auch wenn zurzeit kein Streaming oder Komprimierung vorhanden ist, es gäbe die Möglichkeit, das noch zu erweitern, um das zu streamen und komprimieren. So hier gibt es noch einen Standardisierungsprozess.
15:02
Diese drei Formate, wie kann man die eigentlich auf dem Web darstellen? So im Bereich Open Source, es gibt schon eigentlich gute Implementierungen. So PostGIS ist in der Lage, 3D-Daten zu speichern. Es ist möglich, diese als X3D mit der Funktion asX3D zu exportieren.
15:24
Es gibt GeoServer, der bietet eine W3DS API, so Get Scene, Get Teil, auf Basis zum Beispiel auf einer Request auf der PostGIS. Es gibt auf der kleinen Seite X3DOM, X-Freedom, eine Programmbibliothek,
15:40
um X3D-Daten darzustellen und damit zu interagieren. Und auch hier Sysium, das ist ein virtuellen Globus in WebGL. Hier ein Beispiel von Darstellungen von geologischen Daten, die stammen von PostGIS, die werden über W3DS, über GeoServer
16:00
in der X3D-Format durch X3DOM dargestellt. Das ist die Open Source-Welt. Man nutzt unterschiedliche Komponenten und bildet so eine globale Lösung, die effizient ist. X3DOM ist in der Lage,
16:21
Millionen von Punkten in WebGL darzustellen. Es ist ein Experimental Framework, das nutzt WebGL und hilft zum Prozess der Standardisierung bei WebW3C-Standards.
16:41
Einer der Vorteile von X3DOM ist, dass die Objekte als HTML-Objekte integriert sind in die Webseite. Das heißt, für einen JavaScript-Entwickler ist es ganz einfach, mit diesen Objekten zu interagieren, weil sie im DOM vorhanden sind. Man kann z.B. sie per CSS anpassen
17:06
und das Layout anpassen. Traditionelle Web-Programmierungen. Hier noch ein Beispiel. Es gibt ein X3D-Dokument und dann eine Szene
17:23
und dann drauf das geografische Element. Es gibt auch Cesium, ein virtuellen Globus. Das bietet eigentlich drei Sichten. Das Globus, eine Perspektive oder noch eine zweite Karte.
17:45
Cesium ist in der Lage, dieses Globus zu animieren und kann dynamische Szenen mit CZML darstellen. Satelliten z.B. können sich um die Erde bewegen oder Objekte können sich bewegen.
18:05
Dieser Globus unterstützt unterschiedliche Geländemodelle und Quellen für das Gelände. Darauf kann man unterschiedliche Typen von Webdiensten drauflegen wie WMS, TMS,
18:22
OpenStreetMap, Bing, ESRI usw. Und es ist noch möglich, KML zu integrieren. Cesium ist als gut entwickelte Anwendung auch erweitert mit Plugins. Es gibt Tausende Beispiele online.
18:42
Hier eine Darstellung von einer CZML-Datei, die sich bewegt mit einer dynamischen Darstellung. Oder hier der Terrain-Server, der das Geländemodell liefert. Darauf sind die Ski-Pisten vermutlich mit WMS
19:02
draufgelegt und noch bestimmte POIs, die sich vielleicht noch mit der Zeit bewegen. Für Leute, die damit spielen möchten, gibt es so einen Suncastle mit Beispiele.
19:23
Man kann direkt QL-Code drin kopieren und dann mit zwei, drei Zeilen das geländene Modell hinzufügen. Um das zu versuchen, geht es sehr schnell.
19:44
Es gibt noch andere Programmbibliotheken wie Openlayers 3. Die möchten, um eine umfangreiche Web-Lösung 2D, 3D anzubieten. Die gehen in die Richtung von Cesium-Integration, Openlayers für die 2D-Map. Und dann das Extend in die 3D-Globus zu senden.
20:06
Das Extend der Karte. Aber nicht nur der Extend, sondern auch Objekte der Openlayers Karte. Zum Beispiel vectorielle Objekte, die in zweiter dargestellt sind. Wenn man in die 3D geht,
20:22
dass man diese Objekte auch mitnimmt. Das wäre die Open-Source-Lösung, die zurzeit im Bereich 3D vorhanden ist. Vielleicht als Zusammenfassung. Es gibt eine sehr große Aktivität
20:41
im WebGL- und 3D-Bereich. Wir haben mit Google gesehen, dass es Big-Players gibt, die Tendenzen setzen. Der breite Publikum wird so 3D-Globus erwarten. Es gibt auch zahlreiche Standardisierungsprozesse. Das ist, würde ich sagen, ganz gut.
21:01
Und auch diese Standardisierungsprozesse geht auf Basis von Prototypen. Die Standardisierungsprozesse sollten relativ gut kommen. WebGL verbreitet sich. Jetzt ist auch Microsoft dabei. Alle Players im Browser-Welt sind dabei.
21:24
Es gibt noch wichtige Elemente, die zu berücksichtigen, wenn man so ein 3D-Projekt macht. Zuerst gibt es die Datenmenge. Es ist viel mehr Datenmenge als eine normale zweite Anwendung. Zu speichern, zu prozessieren, zu übertragen, zu streamen. Das sind richtige Herausforderungen.
21:44
Es gibt die Frage der CPU- und GPU-Optimierung. Was geht durch die CPU? Was geht direkt an die Grafikkarte? Je nach Format hat man unterschiedliche Antworten. Man muss auch etwas aufpassen im Bereich Standardisierung für den Web,
22:00
so W3C. Im Geospatial-Bereich brauchen wir gute Encoding-Möglichkeiten, weil die Koordinaten sind sehr lange. Das sind lange Zahlen. Es braucht die Möglichkeit, viel zu encodieren, was nicht mit einem Würfel vorhanden ist.
22:20
Mal schauen, wie diese unterschiedlichen Datenformate mit unterschiedlicher Implementierung wachsen. Denn die Datenformate und die Darstellung sind schon eingebunden. Aber Interoperabilität wäre sicher etwas wichtig. Danke für die Aufmerksamkeit.
22:46
Danke, Manuel. Sind Fragen? Alles klar. Ich arbeite beim OGC. Du hast jetzt einige Player
23:03
gelistet in Coordination Group, Web3D und das OGC. Hab ich jemand vergessen? Nein, nein. Ich frage mich nur, wo engagiere ich mich? Wo entscheide ich? Wie entscheide ich, wo ich mich einbringe?
23:21
Wie macht ihr das bei Camp2Camp? Das Gute ist, es sind relativ offene Standardisierungsprozesse. Spezifikationen greift man einfach. Ich würde sagen, man soll sich schon
23:43
in diese unterschiedliche Welt engagieren. Sicher bei der OGC und auch bei der Chronos-Gruppe. Das muss zusammen funktionieren, sodass wir eine effiziente Lösung für die geospäliche Welt haben. Vielen Dank. Ich kann dazusagen, dass OGC und die Chronos-Gruppe
24:00
auch zusammenarbeiten. Da findet auch Zusammenarbeit statt.