3D Visualisierung von OpenStreetMap Daten mit OpenWebGlobe
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/14766 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Berlin |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
HTMLRoundingWEBSupremumCodeLecture/Conference
00:33
WEBWeb browserJavaScriptOpenGLApple <Marke>GoogleNetscapeBlu-ray DiscOpen sourceAudiovisualisierungProgrammer (hardware)Point (geometry)AudiovisualisierungVelocityVersion <Informatik>Open sourceWeb browserWEBOpenGLVertex <Computergraphik>Computer hardwareJavaScriptC++Computer animation
02:39
Blu-ray DiscFile viewerWEBJavaScriptAudiovisualisierungSoftware development kitImplementationDatabaseField extensionSource codeGeometryLocal area networkWeb pagePhysical lawLucas sequenceMicrosoftVersion <Informatik>Wirkung <Physik>AudiovisualisierungPoint cloudGeometryComputer fileSun <Marke>Process (computing)Streaming mediaBlogCodeRestriktion <Mathematik>File viewerJavaScriptInternet ExplorerWEBD channelSource codeCanvas <Programm>Point cloudLösung <Mathematik>Route of administrationLecture/ConferenceXMLComputer animation
07:15
Software development kitWeb browserBlu-ray DiscWEBFile viewerRoyal NavyControl engineeringComputer wormPixelGeometryProcess capability indexIndexHidden Markov modelVertex <Computergraphik>CodeProcess (computing)Scientific modellingSweep line algorithmPixelGeometryVideo cardHöheMongoDBTexturData storage deviceVector graphicsTypString (computer science)Open innovationSource codePoint cloudWEBLink (knot theory)Lecture/ConferenceXML
11:51
OpenSSLConstraint (mathematics)GeometrySierpinski triangleBuildingRow (database)Lecture/Conference
12:12
Blu-ray DiscGeometryTape driveHidden Markov modelWritingComputer animation
12:49
Moment (mathematics)MittelungsverfahrenLecture/Conference
13:18
GeometryTape driveBlu-ray DiscDemosceneHidden Markov modelProcess capability indexLogic gateComputer wormRekursives neuronales NetzWorld Wide WebRun-time systemService (economics)AudiovisualisierungChaos (cosmogony)Open innovationCache (computing)BuildingHöheLaden <Datenverarbeitung>Moment (mathematics)MongoDBDatabaseComputer animation
15:56
Blu-ray DiscComputer wormGeometryDatabaseMongoDBMongoDBCache (computing)Row (database)Computer animation
17:15
InformationRepresentation (politics)Boom (sailing)Lecture/Conference
17:49
CodeBlu-ray DiscVorwärtsfehlerkorrekturWEBInformationAbbildung <Physik>Computer animation
18:41
Computer programmingRestriktion <Mathematik>TexturPyramid (geometry)Scientific modellingWEBData modelTowerSierpinski triangleLecture/Conference
21:43
Computer animation
Transcript: German(auto-generated)
00:08
Vielen Dank für die Einführung. Ich werde jetzt ein wenig zuerst über zwei Dinge sprechen. Zuerst über Open Web Globe, das Projekt. Aber bevor ich mit Open Web Globe loslege, spreche ich über WebGL.
00:22
Darf ich gerade in die Runde fragen, wer von Ihnen hat schon mal etwas von WebGL gehört? Gut, es werden immer mehr. Super. WebGL ist ein Industriestandard. Das heisst nicht Open Source in diesem Sinne. Es ist eine Working Group dahinter, wie Apple, Chrome, Mozilla, Opera.
00:42
Die ganz grossen Browser-Hersteller sind dabei. Und die spezifizieren im Prinzip diesen Standard. Und WebGL ist im Prinzip extrem tief bei der Hardware. Also wir können mit WebGL direkt auf die GPO zugreifen und dort über Vertex Buffer direkt ganz, ganz tief schnelle Dinge erledigen.
01:01
Die sonst mit JavaScript nicht funktionieren würden in dieser Geschwindigkeit. Also im Prinzip basiert WebGL auf dem OpenGL ES. ES steht für Embedded Systems. Und OpenGL ES wiederum ist aufgebaut auf dem OpenGL Standard, der mittlerweile in der Version 4.4 erhältlich ist.
01:22
Ist ein sehr alter Standard. Also 1992 wurde die Version 1.0 herausgegeben. Ist doch schon eine Zeit her. Und gerade weil es schon ein etablierter Standard ist, kann man viele Programme, die früher nur mit C++ in dieser Geschwindigkeit liefen, heute auch in JavaScript realisieren. Also viele von Ihnen haben schon etliche Demos gesehen.
01:44
Und es ist doch beeindruckend, wie schnell im Prinzip die Grafikanwendungen heute im normalen Browser schon laufen. Gut, das zweite Thema Open Web Globe ist ein Open Source Virtual Globos, welches eben auf Basis von diesem WebGL erstellt wurde.
02:04
Und im Prinzip ist es ein Projekt, das seit 2011 von uns an der Facherschule Nordwestschweiz initiiert wurde und im Prinzip einen virtuellen Globos mit sehr vielen Datenmengen realisieren kann. Open Web Globe, da haben wir im Prinzip zwei Dinge. Auf der einen Seite ist die Visualisierung, die 3D-Visualisierung, das, was Sie im Browser sehen.
02:27
Und der zweite Teil von Open Web Globe ist die Datenaufbereitung, auf die ich hauptsächlich heute zu sprechen komme. Und weil es eben mit WebGL realisiert wurde, läuft es pluginfrei in modernen Browsern.
02:41
Hier eine Demosequenz mit verschiedenen Datenquellen aus der Schweiz. Hier sieht man den Alletsch Gletscher. Man kann im Prinzip mit der Maus normalerweise interaktiv rumfliegen und sieht dann im Prinzip die Terabytes an Daten, die dahinter liegen. Das wird gestreamt. Das heisst, wir können im Prinzip viel mehr Daten im Hintergrund haben, als wir sichtbar haben.
03:07
Das kennen Sie alle auf OpenStreetMap. Wenn Sie reinzoomen, erhalten Sie immer langsam mehr Daten. Und im Prinzip ist das dasselbe nur dreidimensional. Gut, wie gesagt läuft es heute, und da bin ich besonders froh, auf allen grossen Browsern,
03:25
inklusive unserem geliebten Microsoft Internet Explorer in der Version 11. Und das doch, muss man auch sagen, von Microsoft eine, lass ich das jemals sagen, eine grossartige Leistung, dass sie es geschafft haben, einen Standard auch so zu übernehmen.
03:41
Es ist allerdings noch mit gewissen Nebenwirkungen verbunden. Es ist vielleicht zu 90% realisiert bei Internet Explorer. Allerdings, Open Web Globe läuft heute schon mit dem Internet Explorer 11. Gut, was kann Open Web Globe? Wir können verschiedene Datenquellen anzapfen.
04:02
Also wir können Bild- und Höhendaten aufbereiten, diese ansehen. Wir können diese kombinieren. Also hier oben rechts haben wir einen Screenshot mit OSM-Daten, also den 2D-Kacheln von OSM kombiniert mit einem Satellitenbild. Wir können 3D-Objekte, texturiert, untexturiert, ist egal, darstellen.
04:22
Wir können Overlays gestalten. Also hier zum Beispiel Radar-Daten können wir über den Globus legen. Wir können selbstverständlich Spoys realisieren. Aber auch Dinge, die andere virtuelle Globen heute so noch nicht können, wie zum Beispiel Streaming von sehr grossen Punktwolken.
04:43
Und eben wie ich gesagt habe, die Datenprozessierung, die Trennung Datenprozessierung auf der einen Seite und Viewer auf der anderen Seite, ermöglicht uns diese Datenkanäle im Prinzip selbst zu kontrollieren. Also wir können sehr grosse Bilddaten einbauen.
05:01
Wir haben im Prinzip die Kontrolle über die Daten. Wir können wählen. Wollen wir zum Beispiel wie gesagt OpenStreetMap-Daten visualisieren oder wollen wir vielleicht kommerzielle Daten visualisieren, da sind wir im Prinzip sehr flexibel. Und auch das weitere große Plus von einem solchen Globus gegenüber den proprietären Lösungen ist,
05:23
wir haben totale Kontrolle über die Daten. Das heißt, wir können unsere Webserver selber hosten. Wir können im Prinzip selbst eine Cloud aufbauen mit unseren eigenen Daten und müssen die nicht irgendwie von anderswo holen und so auf die Aktualität verzichten von den Daten.
05:43
Wir waren bei der Wahl der Lizenz, haben wir uns für die MIT-Lizenz entschieden, weil wir denken, wir wollen im Prinzip keine Restriktionen zusätzlich einbauen. Wir wollen eine Lizenz, die auch erlaubt im Prinzip allen Leuten mit dem Code umzugehen, wie sie wollen, also sie müssen nicht Source Code wieder zurückgeben.
06:02
Und was auch schön ist, ist, dass wir beliebige Applikationen heute schon realisiert haben mit dem Open Web Globe und es werden auch immer mehr. Ein wichtiger Punkt bei der Erstellung oder bei der Realisierung dieses Globus war, wir wollten im Prinzip in wenigen Zeilen Code, das ist JavaScript Code, HTML5,
06:25
kombiniert mit möglichst wenig Code einen virtuellen Globus realisieren. Also hier sehen wir, gut es ist nicht extrem wenig, aber es ist relativ einfach. Zuerst müssen wir diesen WebGL Kontext über den Canvas realisieren, dann erschaffen wir mit einer Funktion Create Globe den Globus
06:43
und dann können wir die Datenquellen hinzufügen. In diesem Beispiel haben wir nur gerade einen Layer hinzugefügt. Das ist ein Image Layer, der hat hier einen Service, das sind verschiedene Dinge, wie WMS kann man sich vorstellen, wir haben auch einen eigenen Teilservice realisiert, aber da ist im Prinzip alles möglich, das auch zu erweitern und so beliebige Daten anzuzapfen.
07:07
Natürlich neben dem Image Layer braucht es auch einen Höhenlayer oder einen Punktwolkenlayer usw. oder auch ein 3D Geometrielayer, auf den ich gerade später zu sprechen kommen werde. Und im Prinzip ist es schön, dass mit relativ wenig Code schon ein komplexer Globus realisiert werden kann.
07:25
Ich habe hier noch eine Folie für diejenigen, die kurz das testen wollen, vorbereitet. Das sind so mit JS Fiddle, da kann man so JavaScript, Source Code, live editieren, so ein paar Daten, so ein Hello World, wo nur gerade die World Hello sagt,
07:41
oder auch ein OpenStreetMap-Demo, wo dann die OpenStreetMap-Daten verwendet werden oder auch so mit Poise setzen, mit der Maus kann man da verschiedene Poise setzen. Und da ist noch ein Link zu dem aktuellen OpenWebGlobe SDK, der Source Code ist auf GitHub, GitHub, OpenWebGlobe, ganz einfach.
08:02
Gut, jetzt kommen wir zum eigentlichen Thema langsam. Die Prozessierung von Daten ist eigentlich das zweite Steckenpferd von OpenWebGlobe. Und hier haben wir uns entschieden, kürzlich, dass wir auf MongoDB und Node.js setzen, wobei man beide ersetzen kann.
08:22
MongoDB kann man auch durch S3 von Amazon ersetzen. Das ist so abstrahiert, dass das austauschbar ist. Also der Prozess ist folgendermassen. Wir laden zuerst O-Daten, das sind Bilddaten, Höhendaten usw. auf eine Cloud. Und dort werden diese optional vorprozessiert.
08:41
Das kann auch real-time geschehen und gecast werden, aber so vielleicht zehn Stufen können wir vorkasten. Und dann bei den Requests werden die entsprechenden Tiles später gecast und können so von jedem auf dem WebView angesehen werden. Also im Prinzip ist es eine Art Crowdsourcing von den Benutzern. Je mehr Benutzer auf diese Globus-Webseite gehen, desto mehr Tiles werden generiert
09:05
und die werden dann eben in einem S3 oder in einem MongoDB-Cache gespeichert. Gut, aber wenn wir von Tiles reden, müssen wir zuerst uns überlegen, was für Typen von Tiles gibt es und was für Typen von Tiles werden von Open Web Globe unterstützt.
09:22
Das einfachste Teil, das kennen wir alle, ist ein zweiter Image-Teil. Also im Prinzip ist das ein RGB- oder ein RGBA-Teil, welches meistens aus 256 x 256 Pixel besteht. Und dann gibt es noch eine Beschränkung über das Level of Detail.
09:41
Und diese ist bei diesem Typus von Tiles einfach die Anzahl Pixel. Also das heisst 256 x 256. Die sind im Prinzip alle gleich gross und man zoomt hinunter, man zoomt wieder weg und diese Tiles existieren. Der zweite Typ von Tiles ist ein Vektor-Teil. Und da muss man aufpassen, da gibt es zwei Varianten.
10:02
Die eine Variante kennen wir auch alle. Das ist die gerasterte, zum Beispiel mit MAPNIC gerasterte Kachel, welche im Prinzip auch nichts anderes ist als ein Bild. Also auch wieder das 2D-Image. Allerdings ist auch ein Trend hier, dass man beginnt, Vektordaten wirklich als Geometriedaten zu speichern.
10:21
Oder eine Kombination von beiden. Zum Beispiel, dass ein gerasterter Kachel existiert, aber der Text, der ist im Prinzip als Vektor definiert. Oder als Zeichenkette in unserem Fall. Gut. Der dritte Typ ist das Höhen-Teil. Das kann zum Beispiel so ein Elevation-Teil sein, wie wir das hier sehen.
10:42
Im Prinzip ein 17 x 17 oder grösser Teil, welches als Höhen-Daten besteht. Und Höhen-Daten heisst, es ist ein 2,5D-Teil, welches im Prinzip jedes Pixel, in Anführungszeichen ist, beschreibt die Höhe. Und aus diesem können wir dann in einem zweiten Schritt so ein Mesh generieren,
11:01
so ein 2,5D-Mesh, welches wir vorher gesehen haben im ersten Film, im Prinzip diese Geometrie, diese Höhen darstellt. Das ist allerdings ein Spezialfall. Wir müssen uns überlegen, gibt es nicht ein weiteres Teil, ein 3D-Geometrie-Teil, welches im Prinzip beliebige Geometrie enthält.
11:21
Und beliebig, da kann man sagen, gehen wir tief zu Grafikkarte und gehen zu einem Vertex-Buffern, Index-Buffern und so weiter. Vielleicht noch eine Referenz auf eine Textur. Und so diese Dinge in einer Kachel zu speichern. Und da können wir sagen, okay, sehen wir das Ganze für Gebäude an. Und okay, wenn wir Gebäude haben, ist die Frage, müssen wir das Gebäude zerschneiden.
11:42
Oder sagen wir, okay, dieses Teil, wo der Schwerpunkt in der Mitte ist, dieses Teil erhält dieses Gebäude und das Nachbar-Teil dann nicht mehr. Das sind dann diese Überlegungen, die bei einem solchen 3D-Geometrie-Teil gemacht werden. Und da sehen wir, wir haben plötzlich keine schöne abgeschnitte Geometrie mehr.
12:01
Und hier ist die Level-of-Detail-Beschränkung vielleicht die Anzahl Punkte. Oder vielleicht die Anzahl Dreiecke. Das kann man so machen. Und wir haben dann gesagt, okay, wenn wir einen weltweiten Datensatz von Gebäuden haben wollen, dann nehmen wir die Open-Street-Map-Datenbank, die inzwischen auch in einem sehr limitierten Ausmass über Beschreibungen verfügt,
12:27
um so ein 3D-Gebäude zu realisieren. Und das haben wir gemacht für die ganze Welt. Oben rechts sehen wir New York. Da ist dann ein bisschen eine bessere Beschreibung der Dachformen, sage ich mal, gegeben. Aber wir haben uns weniger jetzt auf das schöne Aussehen konzentriert hier.
12:43
Also es geben auch etliche Dachformen, die bereits in der OSM-Datemark gespeichert sind. Aber die sind im Prinzip noch sehr wenig vorhanden. Im Prinzip sind die meisten Gebäude, unten links ist die Verbotene Stadt in Peking. Und die Dachformen, diejenigen, die das kennen, sind doch ganz anders in der Realität.
13:03
Und das ist halt schade, aber das ist für dieses Experiment im Moment noch egal. Wir haben auch die Möglichkeit eingebaut, dass wir gewisse Gebäude austauschen können. Zum Beispiel sehen wir jetzt hier das Kolosseum in Rom, welches im Prinzip keine Open-Street-Map-Daten sind,
13:21
sondern ein Ersatz des Kolosseums, welches hier nicht so schön wäre, wie das dargestellt ist. Und so können wir im Prinzip eine Datenbank aufbauen, welche aus komplexeren und weniger komplexeren Gebäuden existiert. Gut, und hier sehen wir noch in London ein Beispiel von so einer Kombination mit einem ersetzten Gebäude.
13:44
Und hinten noch die OSM. Und wenn wir genau schauen, sehen wir auch das Problem, dass die Höhe leider bei den wenigsten Gebäuden bereits beschrieben ist. Hinten sehen wir ein paar Wolkenkratzer, aber im Prinzip für die anderen Gebäude haben wir eine Standardhöhe angenommen, was bedauerlich ist.
14:04
Aber jetzt, wie gesagt, die Visualisierung war nur der kleine Teil bei diesem Experiment. Wir wollten im Prinzip einen Datendienst aufbauen. Wir haben dazu das Node.js verwendet. Wir haben zwei verschiedene Dienste am Laufen. Das eine ist ein Caching-Dienst, bei welchem im Prinzip diese Daten,
14:22
wenn sie angefordert werden, zuerst nachschalten, cache, existieren die schon. Und wenn ja, dann schön, nehmen wir das aus der MongoDB oder aus dem S3 von Amazon, ist egal, ist abstrahiert. Nehmen wir das heraus und liefern das zurück. Im zweiten Teil, da nehmen wir zwar ein 3D-Building
14:42
aus der Postgres-Datenbank von OSM heraus. Und so gut wie möglich bauen wir dann eine 3D-Geometrie daraus. Und wenn wir das getan haben, dann speichern wir das in der MongoDB oder in einer anderen Datenbank, die möglichst schnell ist, wieder ab. Und so können wir eigentlich mit der Zeit genau das gleiche Crowdsourcing erstellen,
15:04
wie wir schon zu Beginn gesagt haben, mit diesen Image- und Bilddaten. Das heisst, je mehr Leute auf diesen Dienst gehen, desto größer wird unsere 3D-Datenbank. Und hier noch ein Film, wie das aussieht. Hier ist das Caching, wir können alles aktivieren und deaktivieren.
15:23
Das ist ein bisschen eine experimentelle Umgebung. Jetzt hier im Moment ist der Cache eingeschaltet. Das heisst, diejenigen Gebäude, die schon im Cache waren, die werden geladen. Und andere werden dann halt in Realtime erstellt, wie wir jetzt hier im Hintergrund gesehen haben. Und wenn man irgendwo hineinspringt, sieht man, diejenigen, die im Cache waren, werden geladen.
15:45
Und die anderen, die brauchen halt beim ersten Laden ein wenig länger. Gut, wir haben auch das erweitert für nicht-OSM-Daten. Wir haben da noch historische Daten. Augusta Raurica ist eine alte Römerstadt bei uns in der Region.
16:04
Und da haben wir auch mit Texturen ein wenig experimentiert. Und hier im Prinzip mit dem selben Caching-Algorithmus das so realisiert. Und im Prinzip können wir heute weltweit solche 3D-Geometrien auf dem ganzen Planeten relativ einfach realisieren.
16:21
Und mit dem gleichen Prinzip, wie 2D-Daten geladen werden, in einer 2D-Karte zum Beispiel. Gut, komme ich zur Zusammenfassung. Wir haben gesehen, dass wir diese drei Details einsetzen können für ein weltweites Rendering.
16:42
Und da muss ich auch den OSM-Leuten danken, dass so ein toller Datensatz existiert. Und wir haben auch gezeigt, dass wir mit der MongoDB oder mit der S3 Daten relativ gut caschen können. Und diese Daten auch von der Postgres-Datenbank, dass der Zugriff, der nicht so optimal schnell ist,
17:01
dass der im Prinzip reicht, wenn wir das Caching dazuhängen. Und in Zukunft werden wir noch mehr Dachformen unterstützen. Jedoch eben der Anteil von sehr gut dokumentierten Dachformen ist leider in der OSM-Datenbank noch relativ klein. Aber ich denke, das ist eine Frage der Zeit.
17:22
Und es werden viele Leute, das haben wir auch angefangen bei uns in der Region, anfangen, die Dachformen auch zu erfassen. Das ist ein neuer Challenge. Wenn halt das ganze Quartier schon gemapt ist, kann man ja sagen, gut, dann gehen wir zu den Dachformen. Und wir wollen auch andere OSM-Daten zukünftig unterstützen, wie zum Beispiel Straßen, Bäume und so weiter.
17:42
Und diese dann mit einer geeigneten Repräsentation weltweit darstellen können. Gut, ich bedanke mich für die Aufmerksamkeit und für das zahlreiche Erscheinen. Weitere Informationen über das Open Web Club Projekt können Sie den Links entnehmen.
18:04
So, gibt es Fragen? Mich würde interessieren, woher die Gebäude kommen, die 3D-Modelle, die ihr da benutzt. Also die besseren sozusagen.
18:20
Also im Falle von diesem August, die wurden von unseren Studierenden an der Fachhochschule Nordwestschweiz vermessen und so eins zu eins abgewildert. Und die anderen, die haben wir so einfach zusammen gefunden im Netz und zusammen ein bisschen optimiert. Es ist ein bisschen ein Prozess. Auf was ich nicht eingegangen bin, ist eben der ganze Umgang mit Texturen.
18:45
Wenn wir so Modelle ansehen, dann sind die meistens mit so ein Gebäude besteht aus 20 Texturen. Und das braucht natürlich viel zu viel Speicher für eine solche Repräsentation. Wir müssen noch das Modell zuerst optimieren, einen Texturatlas rechnen lassen und solche Dinge.
19:02
Und diese optimierten Modelle verwenden wir dann im Open Web Club. Das ist noch ein Zusatzschritt, auf den ich jetzt nicht eingegangen bin. Weitere Fragen? Meldung, was erfinden Sie? Die Ersetzung von den 2D-OSM-Gebäuden durch 3D-Modelle ist wahrscheinlich bisher manuell, nehme ich an.
19:28
Habt ihr Ideen, wie man so etwas automatisiert machen kann und Duplikate vermeiden kann, dass also nicht zwei Modelle übereinander liegen? Das ist in der Tat ein sehr großes Problem, weil es leider Gebäude gibt, die aus mehreren IDs bestehen,
19:42
aber dasselbe Objekt sind und das ist nach wie vor ein manueller Prozess. Wir haben das auch beschränkt auf, wir haben das Buildings of Interest genannt, wie zum Beispiel der Reifelturm oder Tower of London, die Pyramiden in Ägypten und so weiter, oder die Freiheitsstatue, dass einfach diese ganz wichtigen Gebäude, die werden ersetzt.
20:02
Und im Prinzip die anderen, die reichen ja die OSM-Darstellungen aus. Und wenn wir denken, dass in Zukunft OSM immer besser wird, dann können wir sogar zukünftig auf diese Buildings of Interest ganz verzichten. Habt ihr Tests mit High Resolution Models gemacht?
20:24
Wie es funktioniert mit High Resolution Models? Ja, wir haben es verstanden. Mit was für Models? High Resolution Models. High Resolution Models, ja. Also wir haben natürlich auch ein Level of Detail Konzept dahinter. Wir haben ja im Prinzip auch verschiedene Stufen. Weil im Prinzip die Kacheln sind dieselben Kacheln, wie wir sie aus der 2D-Bilddatengrundlage kennen.
20:44
Und wir haben einfach eine Restriktion drin. Das heisst, das ist die Anzahl Dreiecke. Das heisst, wenn wir diese Anzahl Dreiecke erreicht haben, wenn wir sagen, eine Kachel kann maximal 1000 Dreiecke haben. Wenn das nicht erfüllt ist, dann müssen wir diese Buildings so optimieren,
21:03
dass sie auf 1000 Dreiecke unterkommen. Und das heisst, wenn wir ein extrem detailliertes Modell haben, kommt das erst auf der alleruntersten Stufe zum Vorschein. Und oben ist dann eine Repräsentation, die halt aus maximal 1000 Dreiecken pro Kachel besteht. Also man muss da wirklich nahe heranzoomen, wie zum Beispiel hier,
21:21
damit überhaupt diese Details dann sichtbar werden. So, eine letzte Frage. Hat noch jemand eine Finalfrage? Keine Meldung mehr? Dann würde ich sagen, bedanke ich mich für diesen interessanten Vortrag. Gleich kommt Tobias Knär.