SpaceMap: Interaktive dreidimensionale Visualisierung der Milchstraße
auf Grundlage des Gaia-DR3-Katalogs

Maximilian Cwalina
Technische Dokumentation · Stand: Juli 2026 (Datenimport fortlaufend)
Zusammenfassung SpaceMap ist eine browserbasierte, interaktive Visualisierung der dreidimensionalen Sternverteilung der Milchstraße auf Grundlage des dritten Datenreleases der ESA-Mission Gaia (DR3) [1, 2]. Aus astrometrischen Messgrößen (Rektaszension, Deklination, Parallaxe) werden kartesische heliozentrische Koordinaten abgeleitet und gemeinsam mit photometrischen Größen (G-Magnitude, Farbindex BP−RP) in Echtzeit gerendert. Die zentrale technische Herausforderung besteht in der Diskrepanz zwischen Katalogumfang (> 3,6 · 10⁸ importierte Objekte, wachsend) und den Ressourcen eines Webbrowsers. Diese Arbeit dokumentiert die eingesetzten Verfahren: ein kompaktes 8-Byte-Übertragungsformat mit chunk-relativer 16-Bit-Quantisierung, ein zweistufiges Level-of-Detail-Schema mit adaptiver Octree-Verfeinerung, magnitudensortierte progressive Nachladung dichter Regionen, persistente clientseitige Zwischenspeicherung sowie GPU-seitige Distanzdämpfung und adaptive Renderauflösung. Ergänzend werden physikalisch motivierte Detailansichten kompakter Objekte (Schwarzschild-Raymarching mit Gravitationslinseneffekt) sowie die Abgrenzung zwischen Messdaten und symbolischen Darstellungselementen beschrieben.
Schlagwörter: Gaia DR3 · Astrometrie · wissenschaftliche Visualisierung · Level of Detail · Datenkompression · WebGL

1 Einleitung und Motivation

Moderne astrometrische Kataloge sind öffentlich zugänglich, in ihrer Rohform jedoch abstrakt: Der Gaia-DR3-Katalog umfasst rund 1,8 Milliarden Punktquellen, beschrieben durch Winkelpositionen, Parallaxen und Helligkeiten [1]. Ziel von SpaceMap ist es, diese Tabellen in einen räumlich erfahrbaren Kontext zu übersetzen: Der Nutzer bewegt sich frei durch die dreidimensionale Sternverteilung — von der unmittelbaren Sonnenumgebung (Proxima Centauri, 1,30 pc) über Sternentstehungsgebiete bis zum galaktischen Zentrum (Sgr A*, 8 178 pc [9]) und, zur Einordnung der Größenskalen, bis zur Andromedagalaxie (≈ 765 kpc [6]).

Leitprinzip des Projekts ist Wahrheitstreue: Jeder dargestellte Sternpunkt entspricht einem realen Katalogeintrag. Wo aus didaktischen Gründen symbolische Elemente ergänzt werden (Marker kompakter Objekte, prozedurale Nebeldarstellungen), wird dies in der Anwendung explizit ausgewiesen (Abschnitt 10).

2 Datengrundlage

2.1 Gaia DR3

Primärquelle ist Gaia DR3 [1]. Verwendet werden die astrometrischen Größen Rektaszension α, Deklination δ und Parallaxe ϖ sowie photometrisch die G-Band-Magnitude und der Farbindex BP−RP. Die Entfernung folgt in erster Näherung aus der Parallaxeninversion:

d [pc] = 1000 / ϖ [mas](1)

Der Farbindex dient sowohl der Farbgebung der Punktdarstellung als auch einer empirischen Abschätzung der Effektivtemperatur Teff über eine stückweise definierte Farb–Temperatur-Relation.

2.2 Vollständigkeit und Sättigungsgrenze

Gaia ist für schwache Quellen optimiert; sehr helle Sterne (G ≲ 3 mag) sättigen die CCD-Detektoren und fehlen im Katalog weitgehend. Paradoxerweise enthält die Datenbank damit zwar Millionen anonymer Feldsterne, nicht aber Sirius, Wega oder α Centauri. SpaceMap ergänzt deshalb 138 helle bzw. kulturell bedeutsame Sterne aus Literaturwerten (IAU-Nomenklatur, Hipparcos-/VLBI-Parallaxen); 6 weitere benannte Objekte konnten direkt Gaia-Quellen zugeordnet werden (Positions- und Helligkeitsabgleich mit Toleranzfenster). Insgesamt tragen 145 Objekte Eigennamen.

2.3 Ergänzende Kataloge

Für kompakte Objekte und Deep-Sky-Objekte werden kuratierte Kleinkataloge verwendet: 10 stellare bzw. supermassereiche Schwarze Löcher (Positionen nach SIMBAD; Massen und Akkretionszustände nach Fachliteratur, u. a. [8, 9]), 6 Pulsare (Perioden und Distanzen nach ATNF-Katalog [11], Vela-Distanz per VLBI-Parallaxe [7]), 15 Deep-Sky-Objekte (Distanzquellen u. a. [3–6]) sowie 17 bestätigte Exoplanetensysteme nach dem NASA Exoplanet Archive [10].

3 Koordinatensystem und Transformation

Alle Objekte werden in einem kartesischen, heliozentrischen Koordinatensystem im International Celestial Reference System (ICRS, Epoche J2000) dargestellt; die Einheit ist das Parsec (1 pc = 3,0857 · 10¹³ km). Die Transformation lautet

x = d·cos δ·cos α,  y = d·cos δ·sin α,  z = d·sin δ(2)

mit der z-Achse in Richtung des Himmelsnordpols. Die galaktische Ebene liegt in diesem System geneigt, entsprechend ihrer tatsächlichen Orientierung am Himmel; für Objekte, die in galaktischen Koordinaten vorliegen, wird die Standard-Rotationsmatrix galaktisch → ICRS (Hipparcos-Konvention) angewandt. Validierung: Der Transformationsfehler für Sgr A* gegenüber den Katalogkoordinaten beträgt < 0,05 %.

4 Systemarchitektur

Das Grundproblem ist quantitativ: Über 3,6 · 10⁸ importierte Objekte überschreiten Arbeitsspeicher und Bandbreite eines Browsers um Größenordnungen. SpaceMap begegnet dem mit einer mehrstufigen Pipeline (Abb. 1), deren Leitidee lautet: jede Stufe liefert der nächsten ausschließlich die aktuell sichtbare bzw. wahrnehmbare Teilmenge.

ESA Gaia DR3 ~1,8 Mrd. Quellen (Archivdateien) Import PostgreSQL stars_quickview 10⁶ hellste, volle Präzision star_chunks 6,5·10⁵ gepackte Würfel Go-Backend Binär-API, Blob-Cache, ETag, Pagination 8 B/Stern Browser (WebGL) IndexedDB-Cache (24 h) Chunk-LOD + Deep-Load GPU-Punkt-Shader
Abbildung 1: Datenfluss der Gesamtarchitektur. Der Import überführt die Gaia-Archivdaten in zwei Repräsentationen: ein hochpräzises „Skelett" der ~10⁶ hellsten Sterne (Suche, Namen, Nächste-Nachbar-Abfragen) und vorgepackte binäre Raumwürfel für das Streaming. Das Go-Backend liefert ausschließlich fertige Byte-Blöcke; der Browser hält einen persistenten Cache und rendert über eigene Shader.

5 Datenrepräsentation und Kompression

Ein Sterneintrag benötigt in JSON-Repräsentation ca. 120 Byte, als unkomprimierte Gleitkommazahlen (x, y, z, Magnitude, Farbe) 20 Byte. Das Übertragungsformat von SpaceMap reduziert dies auf 8 Byte pro Stern (Abb. 2): Positionen werden relativ zum Ursprung des jeweiligen Raumwürfels mit 16 Bit pro Achse quantisiert; Magnitude und Farbindex werden auf je 8 Bit abgebildet.

Paket-Header (einmalig, 16 Byte): f32 originX f32 originY f32 originZ f32 chunkSize Pro Stern (N-fach, 8 Byte): u16 relX u16 relY u16 relZ u8 mag u8 BP−RP
Abbildung 2: Binäres Übertragungsformat („packed wire format v2"). Die 16-Bit-Quantisierung ergibt bei 250-pc-Würfeln eine Ortsauflösung von 250/65 535 ≈ 0,004 pc — deutlich unterhalb der Parallaxen-Messunsicherheit der betroffenen Quellen, also verlustfrei im Sinne der Datenqualität.
Tabelle 1: Übertragungsgröße einer Seite mit 12 000 Sternen nach Repräsentation.
RepräsentationBytes/SternSeitengrößerelativ
JSON (Objektliste)≈ 120≈ 1,4 MB100 %
Float32-Tupel20240 KB17 %
Packed v2 (SpaceMap)896 KB≈ 7 %

Die Würfel-Blobs werden serverseitig vollständig vorberechnet und magnitudensortiert vorgehalten; eine Anfrage löst somit keinerlei Datenbank-Sortierung aus, sondern einen reinen Byte-Slice. HTTP-ETags ermöglichen 304 Not Modified-Antworten.

6 Level of Detail und räumliches Streaming

Der Raum ist in achsenparallele Würfel zerlegt, organisiert in zwei Detailstufen (Tabelle 2). Eine globale Ebene der hellsten ~10⁶ Sterne ist permanent geladen und sichert die Fernwirkung der Galaxis; die Würfelebenen liefern Detail in Kameranähe.

Tabelle 2: LOD-Konfiguration. Der Laderadius ist in Würfeleinheiten um die Kameraposition angegeben; pro Würfel und Seite werden maximal 12 000 Sterne übertragen.
EbeneWürfelkanteMagnitudengrenzeLaderadius
Global (persistent)hellste ~10⁶
Tier 11000 pcG ≤ 145
Tier 2250 pcG ≤ 202

Es werden maximal acht Anfragen parallel gestellt; die Priorisierung erfolgt global über alle Ebenen nach dem Kriterium (i) Würfel enthält die Kamera, (ii) Sichtkegel, (iii) Distanz. Ohne diese globale Planung verhungerte die feine Ebene systematisch, da die grobe Ebene mit ihren zahlreichen Würfeln sämtliche Ladeplätze belegte (beobachtet: 130 wartende Tier-2-Würfel bei 0 aktiven Ladevorgängen). Würfel, die ihre Sternkappe erreichen, werden nach dem Octree-Prinzip adaptiv in acht Kinder verfeinert (maximal zwei Ebenen), wodurch die galaktische Ebene höhere effektive Auflösung erhält als dünn besetzte Regionen. Alle Sternpakete werden über einen pro Draw-Call gesetzten Fade-Uniform weich ein- und ausgeblendet.

7 Progressive Nachladung dichter Regionen

Der dichteste bislang beobachtete 250-pc-Würfel enthält 1 987 995 Katalogsterne. Die erste Seite (12 000 hellste) genügt für die Außenansicht; beim Eintritt der Kamera in den Würfel wird über magnitudensortierte Offsets nachgeladen:

GET /api/stars/binary?…&maxStars=12000&offset=24000
→ Records [24000, 36000) des sortierten Blobs
→ X-Chunk-Total: 1987995 · X-Chunk-Offset: 24000

Die Client-Politik minimiert die Serverlast: Nachgeladen wird ausschließlich der Kamera-Würfel; es existiert genau eine Tiefen-Anfrage zu jedem Zeitpunkt, gedrosselt auf 250 ms Abstand; das Verlassen des Würfels bricht die Sequenz ab (der Fortschritt bleibt erhalten und wird bei Rückkehr fortgesetzt); die Obergrenze liegt bei 96 000 Sternen pro Würfel — jenseits davon ist der visuelle Zugewinn in einer 250-pc-Zelle vernachlässigbar, während GPU-Speicher und Übertragungsvolumen linear weiterwachsen würden. Nachgeladene Pakete werden nur gerendert, solange sich die Kamera im oder unmittelbar neben dem Würfel befindet; aus größerer Distanz unterschreiten die betroffenen Quellen die Pixelgröße.

8 Clientseitige Optimierungen

8.1 Persistente Zwischenspeicherung

Sämtliche Sternpakete werden in einer IndexedDB abgelegt (Gültigkeit 24 h wegen des fortlaufenden Imports; Obergrenze ≈ 150 MB mit Verdrängung der ältesten Einträge). Bei einem Wiederbesuch reduzierte sich die Zahl der Netz-Anfragen im Test von mehreren Dutzend auf vier; ein zuvor bei jedem Seitenaufruf wirksamer veralteter preload-Hinweis (5,7 MB pro Aufruf, Antwort ungenutzt) wurde im Zuge dessen identifiziert und entfernt.

8.2 Adaptive Renderauflösung

Unterschreitet die Bildrate 30 fps, wird die interne Renderauflösung schrittweise auf minimal 60 % reduziert (mit kompensierter Punktgröße) und bei > 55 fps wieder angehoben — ein Regelkreis mit Hysterese, der insbesondere auf Mobilgeräten Bildratenstabilität vor Auflösung priorisiert.

8.3 Distanzabhängige Punktdämpfung

Punkt-Sprites mit fester Mindestgröße und Mindestdeckkraft aggregieren aus großer Entfernung zu einer gesättigten Fläche („Blob-Problem"). Ab ≈ 1 500 pc Kameradistanz werden Punktgröße gegen 1 px und die Deckkraftuntergrenze von 0,28 auf 0,05 geführt; die Galaxis erscheint aus der Ferne als feiner Schleier, konsistent mit dem fotografischen Eindruck.

8.4 Fallstudie numerische Präzision

Das Referenzgitter zeigte anfangs Zitterartefakte: Bei einer Ebenenausdehnung von ±10⁶ pc verliert die perspektivische Interpolation von float32-Weltkoordinaten in Kameranähe signifikante Mantissenbits (ULP(10⁶) ≈ 0,06 pc gegenüber Zellgrößen von 1–10 pc). Die Lösung verlagert die Rechnung in ein kamerarelatives Bezugssystem; die Linienphase je Dezimalstufe wird in JavaScript mit 64-Bit-Genauigkeit exakt bestimmt und als Uniform übergeben. Ein Regressionstest (Subpixel-Kamerabewegung, Pixelvergleich) zeigt 0 von 68 679 veränderten Gitterpixeln nach der Korrektur.

9 Visualisierungskomponenten

9.1 Sternrendering

Sterne werden als GPU-Punkt-Sprites mit eigenem Shader gerendert: gaußförmiger Kern mit schwachem Halo, Beugungskreuze an den hellsten Quellen (fotografische Anmutung), Farbsättigungsanhebung in Richtung der physikalischen Sternfarben sowie die in Abschnitt 8.3 beschriebene Distanzdämpfung.

9.2 Kompakte Objekte

Auf der Karte werden Schwarze Löcher als bewusst kleine, distanzstabile Symbole gezeigt (Ereignishorizont-Silhouette, Photonenring, gelinste Scheibe mit Doppler-Asymmetrie); reale Schwarzschild-Radien wären nicht darstellbar (Sgr A*: rs ≈ 0,08 AE). Da Schwarze Löcher am realen Nachthimmel unsichtbar sind, blendet das Symbol mit wachsender Distanz bis auf einen schwachen Restfleck aus („approach reveal"). Die Detailansicht integriert Photonenbahnen in Schwarzschild-Näherung durch schrittweises Raymarching mit der Beschleunigung

a⃗ = −(3/2) h² r⃗ / |r⃗|⁵(3)

(h: spezifischer Drehimpuls des Photons; Horizontradius auf 1 normiert; vgl. [12, 13]). Als Hintergrund dient eine Cube-Map-Aufnahme des realen Gaia-Sternfeldes an der jeweiligen Objektposition, sodass der Linseneffekt tatsächliche Sterne verzerrt. Der dargestellte Akkretionszustand folgt der Literatur: Gaia BH1/BH2 ohne Scheibe [8], Röntgen-Novae im Ruhezustand mit schwacher kühler Scheibe, Cygnus X-1 und GRS 1915+105 aktiv.

9.3 Sterne und Planetensysteme

Der visuelle Sternradius der Detailansicht folgt aus Leuchtkraft und Effektivtemperatur:

L = 10^{(4,83 − M)/2,5},  R/R = √L · (Teff/5772 K)−2(4)

Die Oberfläche wird durch domänenverzerrtes Simplex-Rauschen animiert (Granulation, Supergranulation, Aktivitätsflecken). Für 17 Systeme werden bestätigte Exoplaneten mit Halbachsen und Radien nach [10] gezeigt (kreisförmig komprimierte Bahnen); unbekannte Systeme erhalten explizit als spekulativ gekennzeichnete, ausgegraute Andeutungen. Pulsare werden mit rotierenden, gegen die Rotationsachse geneigten Emissionskegeln dargestellt; die Winkelgeschwindigkeit ist aus der Katalogperiode abgeleitet.

10 Verlässlichkeit der Darstellung

Tabelle 3: Abgrenzung zwischen Messdaten und symbolischen Darstellungselementen.
ElementStatusAnmerkung
Sternpunkte der KarteMessdatenPosition, Helligkeit, Farbe je Quelle aus Gaia DR3 [1]
Benannte Sterne (145)MessdatenGaia bzw. Literaturastrometrie (Sättigungsfälle, Abschn. 2.2)
Schwarze Löcher / PulsarePosition: Messdaten; Marker: SymbolZustand (aktiv/ruhig/schlafend) literaturkonform
Deep-Sky-Objekte (15)Position/Ausdehnung: Messdaten; Optik: prozeduralDistanzquelle je Objekt im Info-Panel [3–6]
Exoplaneten (17 Systeme)bestätigte Objekte, vereinfachte Bahnen[10]; unbestätigte Systeme als solche markiert
Nahansichtenphysikalisch motivierte ModelleGrößenrelationen aus Gl. (4); Optik künstlerisch

11 Limitationen und Ausblick

(i) Entfernungen aus Parallaxeninversion (Gl. 1) sind für ϖ/σϖ ≲ 5 systematisch verzerrt; eine bayessche Distanzschätzung ist nicht implementiert. (ii) Interstellare Extinktion wird nicht korrigiert; ferne Sterne erscheinen daher — physikalisch korrekt aus Beobachtersicht, aber unkorrigiert — gerötet und abgeschwächt. (iii) Der Datenimport ist zum Dokumentationszeitpunkt unvollständig; die räumliche Abdeckung wächst fortlaufend. (iv) Deep-Sky-Darstellungen beruhen nicht auf Einzelsterndaten; eine Erweiterung um echte Haufen-Mitgliedskataloge (z. B. [4]) ist vorgesehen. Weitere geplante Arbeiten: Eigenbewegungs-Zeitraffer aus Gaia-Proper-Motions sowie Begleitstern-Modelle für Röntgendoppelsterne in der Detailansicht.


Literatur

  1. Gaia Collaboration, Vallenari, A., et al. (2023): Gaia Data Release 3: Summary of the content and survey properties. Astronomy & Astrophysics 674, A1.
  2. Gaia Collaboration, Prusti, T., et al. (2016): The Gaia mission. Astronomy & Astrophysics 595, A1.
  3. Menten, K. M., Reid, M. J., Forbrich, J., Brunthaler, A. (2007): The distance to the Orion Nebula. Astronomy & Astrophysics 474, 515–520.
  4. Baumgardt, H., Vasiliev, E. (2021): Accurate distances to Galactic globular clusters. MNRAS 505, 5957–5977.
  5. Pietrzyński, G., et al. (2019): A distance to the Large Magellanic Cloud that is precise to one per cent. Nature 567, 200–203.
  6. Riess, A. G., Fliri, J., Valls-Gabaud, D. (2012): Cepheid period–luminosity relations in the near-infrared and the distance to M31. ApJ 745, 156.
  7. Dodson, R., Legge, D., Reynolds, J. E., McCulloch, P. M. (2003): The Vela pulsar's proper motion and parallax derived from VLBI observations. ApJ 596, 1137–1141.
  8. El-Badry, K., et al. (2023): A Sun-like star orbiting a black hole. MNRAS 518, 1057–1085.
  9. GRAVITY Collaboration (2019): A geometric distance measurement to the Galactic center black hole with 0.3% uncertainty. Astronomy & Astrophysics 625, L10.
  10. NASA Exoplanet Archive, NASA Exoplanet Science Institute, exoplanetarchive.ipac.caltech.edu (Abruf 2026).
  11. Manchester, R. N., Hobbs, G. B., Teoh, A., Hobbs, M. (2005): The ATNF Pulsar Catalogue. AJ 129, 1993–2006.
  12. Luminet, J.-P. (1979): Image of a spherical black hole with thin accretion disk. Astronomy & Astrophysics 75, 228–235.
  13. James, O., von Tunzelmann, E., Franklin, P., Thorne, K. S. (2015): Gravitational lensing by spinning black holes in astrophysics, and in the movie Interstellar. Classical and Quantum Gravity 32, 065001.

Datennutzung: Diese Anwendung verwendet Daten der ESA-Mission Gaia (cosmos.esa.int/web/gaia), verarbeitet durch das Gaia Data Processing and Analysis Consortium (DPAC). Lizenz: CC BY-NC 3.0 IGO © ESA. Projektseite: cwalina.net/project/spacemap · Community: r/spacemap · Impressum · Datenschutz

◀ Zurück zur Sternkarte