Globe Viewer Ausblick

Die GlobeViewer-Entwicklung begann vor mehr als 5 Jahren. Aktuell arbeite ich an einer kompletten Neuaufsetzung des Projekts, damit die Darstellungsqualität der 3D-Kacheln erheblich verbessert wird. Anbei ein kurzer Einblick in den aktuellen Prototyp und die Änderungen, die dann später in der App verfügbar sein werden. Vermutlich wird die nächste Version erst im Jahr 2024 erscheinen, daher bitte ich um etwas Geduld. Warum dies so lange dauert, können Sie unten lesen.

Vielen Dank für Ihr Verständnis!

Mehr Speicher verfügbar

Seit dem Beginn der GlobeViewer-Entwicklung im Jahr 2017 hat sich die (mobile) Technik erheblich weiterentwickelt. Damals stand für Apps auf den Geräten nur sehr wenig Hauptspeicher (ca. 250 MB) zur Verfügung. Bei Überschreitung dieser Grenze wurde die App sofort vom Betriebssystem beendet, wodurch die Anzahl und die Auflösungen der Texturen, die in der App gleichzeitig geladen werden konnten, erheblich eingeschränkt wurde.

Aus dieser Zeit stammten die Definitionen für verfügbare Texturgrößen auf den 3D-Kacheln, sodass jede Kachel nur eine 512x512 Pixel große Textur für die Höheneinfärbung und eine 1.024x1.024 Pixel große Textur für die Oberflächen-NormalMap ermöglichte. Das Maximum für Texturen liegt heute bei 4.096x4.096 Pixeln - davon konnten damals nur wenige geladen werden, bevor man große Probleme bekam. Neue Texturformate (die auch auf Mobilgeräten komprimiert angezeigt werden können) und mehr verfügbarer Hauptspeicher für Apps, ermöglicht jetzt eine Neudefinition der Texturgrößen.

Bessere Bildschirmauflösungen und mehr Leistung

Die ersten iPad-Generationen kamen mit einer 1.024x768er Bildschirmauflösung heraus. Heute arbeiten fast alle Geräte mit mindestend FullHD- oder 4K-Auflösungen und mehr. Um diese Pixelmengen auch flüssig berechnen zu können ist auch die Rechenleistung ebenfalls erheblich angestiegen. Somit können heute deutlich mehr Effekte und aufwendigere Shader für die graphische Darstellung verwendet werden als damals. Allerdings ist die Leistung bei den vielen verfügbaren Geräteklassen sehr unterschiedlich verteilt. Es wird also eine Abstufung der Darstellung in der App geben müssen, um die App auf möglichst vielen Geräten lauffähig zu halten.

Aktuelle Kartendaten mit mehr Details

Auch die Erde hat sich verändert, am stärksten sieht man dies am Küstenverlauf. Hier ein Beispiel, wie sich z.B. die Küstenlinie in der Nähe von Seol durch Landgewinnung in den letzten 5 Jahren verändert hat. Es wird also höchste Zeit, die Karten zu aktualisieren.

Vergleich der Küstenlinie von 2018 zu 2023 in der Nähe von Seol

Durch die Neudefinition der Texturen bietet sich auch die Gelegenheit mehr Informationen auf den Texturen unterzubringen. So fehlen z.B. bislang Flüsse in den Höhentexturen. Es macht einen optisch großen Unterschied, ob ein Fluss das Licht reflektiert oder nicht:

Sichtbarkeit von Wasserwegen durch verschiedene Glanzeinstellungen

Genauso können auch Straßen, Grenzen und z.B. die Landnutzung mit in den Texturen untergebracht werden. Diese können dann zur Höhenkarte einfach eingeblendet werden.

Darstellung von verschiedenen OpenStreetMap-Datenschichten

Aufteilung der Karte

Die Karte ist in 22.912 Kacheln aufgeteilt. Damit sinnvoll zusammenhängende Bereiche gemeinsam verarbeitet werden, gibt es eine Aufteilung in Zonen. Die erste Zone ist Europa und wird gerade bearbeitet.

Übersicht über die bereits berechneten Kacheln in Europa

Region 1: Europa & Wasserverlauf (Vergrößert: Bibione Pineda/Venedig)

Entwicklungsschritte zur nächsten Version

  1. Höhendaten anpassen
    1. Die ASTER-Höhendaten liegen bereits als 3.601x3.601 Daten vor. Diese werden auf 4.096x4.096 hochskaliert.
  2. Datenlayer erzeugen (Datenexport von OpenStreetMap über QGIS als 4.096x4.096 Texturen gerendert)
    1. Wasserwege und Küstenlinien
    2. Grenzverläufe
    3. Straßen und Eisenbahnlinien
    4. Bebauung
    5. weitere Layer?
  3. Shaderdefinition und Texturerstellung
    1. Es wird der Shader für die Darstellung in Unity festgelegt
    2. Im Anschluss werden dann die Texturen in die benötigte Form gebracht
  4. Import in Unity und Verarbeitung
    1. Festlegung der Texturgrößen pro Plattform (vermutlich als 2.048x2.048 wegen Speicherplatz und Downloadzeiten)
  5. Export der Addressables aus Unity3D
    1. Test des Exports
    2. Komplett-Export und Server-Upload
  6. Versionsbau
    1. Laden der neuen Addressables vom Server
    2. Umstellen der UI-Darstellungsoptionen auf den neuen Shader

Parallel dazu muss immer ein funktionsfähiger Prototyp verfügbar sein, um den Datenimport zu überprüfen. Welche Rohdaten bereits als Texturen vorliegen, können Sie in der folgenden Tabelle sehen.

Übersicht über die Texturerstellung

25.07.2023 - 27.09.2023 Tiles
Borders Buildings CityAreas Forest Landuse Railroads Roads Water
Group A 6900                
Europa 1454 c c c c c c c c
Africa1 1940 c c c c c c c c
Africa2 1095 c c c c c c c c
Russia1 1390 c c c c c c c c
Russia2 1021 c c c c c c c c
Group B 5464                
Australia 903 c c c c c c c c
China1 1362 x x c c c c c c
China2 1940                
Indonesia 1038                
Japan 152                
NewZealand 69                
Group C 6738                
NorthAmerica1 1544                
NorthAmerica2 1323                
NorthAmerica3 1080                
NorthAmerica4 815                
PacificIslands 181                
SouthAmerica1 781                
SouthAmerica2 1014                
Group D 3810                
Antarctica1 998 - - - - - - -  
Antarctica2 1051 - - - - - - -  
Antarctica3 1761 - - - - - - -  
  • x = In Arbeit
  • c = Fertig
  • - = nicht notwendig

Alle Daten der Gruppe Europa sind inzwischen vorbereitet. Sehen Sie hier alle Gebäude aus OpenStreetMaps.

Alle Gebäude in Europa