Mission on Mars: Die NASA war schon da

Lesezeit: 4 Minuten

Zahlreiche Bild-Bibliotheken zu Planeten gibt es im Internet. Die größte Fundgrube mit Dokumentationen einzelner Mars-Missionen gibt es bei der NASA. Wissenschaftliches Material mit geospezifische Daten hält die USGS bereit – U. S. Geological Survey.

Aber man muss mit diesen Informationen auch was anfangen können – das mach ich mal aus Sicht eines Spiele-Entwicklers.

Highmap vom Mars

Habe ich im vorherigen Blog eine selbst gezeichnete (gekrikelte) Highmap zur Generierung meines Tiles benutzt, wäre doch eine Highmap vom Mars das bessere Futter für das Tile. Gefunden habe ich tatsächlich sogenannte DEM (Digital Elevation Model)-Daten – und zwar hier: https://astrogeology.usgs.gov/search/map/Mars/Topography/HRSC_MOLA_Blend/Mars_HRSC_MOLA_BlendDEM_Global_200mp_v2

Die Datei wird augenscheinlich als TIF serviert – das Monstrum ist 11 GB groß (105.594 x 53.347 Pixel).

Naiv, wie ich bin, lade ich diese Datei in Photoshop und – zur Erklärung hier hab ich die direkt als JPG in einer Breite von 1024 Pixeln exportiert – erhalte das:

Okay – scheint so was ähnliches, wie eine Highmap zu sein – allerdings extrem viel Weiß-Anteil im oberen Bildbereich. Auch sind vereinzelt weiße Flecken zu erkennen – und das scheinen nicht plötzliche Berge zu sein.

Ebenfalls sind die sichtbaren Krater im unteren Bild nicht wirklich rund. Ich gehe der Sache auf den Grund:

Das heruntergeladene File ist nämlich nicht so ein einfaches TIF, sondern ein geoTIFF: https://de.wikipedia.org/wiki/GeoTIFF

Es verstecken sich mehr Informationen in der Datei, als Photoshop darstellt.

Kartenprojektion

Grund für die elliptischen Krater ist, dass das Bild eine Projektion ist – die Projektion nennt sich SimpleCylindrical und entspricht in etwa einer Projektion, die man für eine Kugel gut gebrauchen kann, falls man z. B. mittels eines 3D-Programmes (Blender, 3ds Max, Cinema 4D, …) den Mars visualisieren möchte.

Meine Tiles sind allerdings platt – und für so eine Nutzung hätte ich gerne eine sogenannte Mercator-Projektion: https://de.wikipedia.org/wiki/Mercator-Projektion

Das Umrechnen solcher Projektionen kann man prima mit den Tools der Geospatial Data Abstraction Library – kurz GDAL – erledigen. Die Bibliothek gibt es für sämtliche Plattformen Open Source hier: https://www.gdal.org/index.html

Ich benutze:

Das ergibt die Mercator-Projektion – hier wieder die Ausgabe als sehr viel kleineres JPEG, die ausgegebene mars_mercator.tif ist 9GB groß ( 43.470 x 111.085 Pixel):

Die Krater sind damit rund, die Schwarz-Weiß-Werte noch komisch – abschließend kümmere ich mich um die Höhenwerte.

Digital Elevation Model

Die GDAL hat auch ein Tool zur Verarbeitung der Höhenwerte, die ja in der geoTIFF irgendwo versteckt sind. Für meine Highmap benötige ich ja reines Weiß für die höchste Erhebung – Schwarz für die niedrigste. Der Grauwert 128 soll das Null-Niveau sein. Ich erstelle mir eine Datei dem_color:

Diese gebe ich folgendem Befehl mit:

Herauskommt eine TIF-Datei von 14GB Größe (ebenfalls wieder 43.470 x 111.085 Pixel) – als JPEG wieder klein gerechnet:

Und wie es ausschaut, kann ich damit arbeiten – die Schwarz-Weiß-Werte sind homogen.

Mit Photoshop extrahiere ich ein paar quadratische Ausschnitte und nutze diese in meinen Beispielen für tile8 – allerdings mal mit ein paar Parameter an diese Route.

Routen mit Parametern in symfony

Ich kopiere die komplette Routine aus . Für mein achtes Beispiel definiere ich die Route unter symfony so:

Beim Spielen mit den Parameters merke ich schnell, dass ich vorerst den Höhenwert von weiß zu stark gewählt hatte.

Beispiele

http://www.mission-on-mars.com/blog/example/tile8/512/64/1/75

Highmap

Ausgabe

http://www.mission-on-mars.com/blog/example/tile8/512/64/2/100

Highmap

Ausgabe

http://www.mission-on-mars.com/blog/example/tile8/512/64/3/50

Highmap

Ausgabe

So ganz langsam kommt der Mars näher…

Wieder habe ich nichts an der APP getan, sondern lediglich die Serverscripte erweitert bzw. mit qualifizierterem Material gefüttert.

Weiterführende Links

Mir ist das allerdings noch alles viel zu pixelig – speziell, wenn man näher heranzoomt. Dazu habe ich eine Idee, die ich in dem nächsten Blog näher erläutere: Mission on Mars: Shader mit Normalmaps

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.