DEV Community

Cover image for Gaia Mary: mapa estelar interactivo con 1.800 millones de estrellas
lu1tr0n
lu1tr0n

Posted on • Originally published at elsolitario.org

Gaia Mary: mapa estelar interactivo con 1.800 millones de estrellas

El catálogo Gaia de la Agencia Espacial Europea reúne posiciones, distancias y movimientos de casi 1.800 millones de estrellas de la Vía Láctea. Gaia Mary, un proyecto de código abierto publicado en GitHub Pages, usa esos datos para construir un mapa estelar interactivo en el navegador, inspirado en la novela de ciencia ficción Project Hail Mary de Andy Weir.

La propuesta no es estrictamente nueva, pero combina un dataset astronómico de calidad profesional con una idea narrativa popular, y la sirve gratis a cualquiera con un navegador moderno. Para desarrolladores en LATAM, es un ejemplo accesible de cómo trabajar con datos científicos abiertos sin necesidad de un cluster de cómputo ni licencias caras.

TL;DR

  • Gaia Mary visualiza estrellas reales del catálogo Gaia de la ESA en un mapa interactivo desde el navegador.
  • Está inspirado en Project Hail Mary, la novela de Andy Weir donde un astronauta usa estrellas para ubicarse en el espacio.
  • El catálogo Gaia DR3 contiene 1.811 millones de objetos con posiciones, paralajes y movimientos propios medidos.
  • El proyecto está publicado en GitHub Pages bajo el dominio valhovey.github.io, sin servidor ni costos asociados.
  • Es un caso útil para aprender visualización con WebGL, ingestión de datos astronómicos y conversión de coordenadas celestes.
  • Cualquier persona con conexión a internet puede explorar el universo cercano sin descargar software adicional.

Qué es Gaia Mary

Gaia Mary es un proyecto web alojado en valhovey.github.io/gaia-mary que renderiza un mapa estelar tridimensional usando datos públicos de la misión Gaia. La interfaz permite navegar por una región del cielo, hacer zoom, rotar el campo de visión y observar cómo se distribuyen las estrellas que orbitan cerca del Sol.

El nombre combina dos referencias culturales. Por un lado, Gaia, el satélite europeo lanzado en 2013 cuya misión es cartografiar con precisión sin precedentes la Vía Láctea. Por otro, Mary, la nave protagonista de Project Hail Mary, donde la astronomía juega un papel central en la trama. La idea no es ficción: cualquier viajero interestelar real necesitaría exactamente el tipo de información que cataloga Gaia para orientarse en el cosmos.

Los datos de Gaia permiten reconstruir la geometría tridimensional del entorno solar.

La misión Gaia: el catálogo más ambicioso del cosmos

La misión Gaia, lanzada por la ESA en diciembre de 2013, opera desde el punto de Lagrange L2 a 1,5 millones de kilómetros de la Tierra. Su instrumento principal es un par de telescopios con un mosaico de 106 CCDs que totalizan casi mil millones de píxeles, el sensor astronómico más grande jamás puesto en órbita.

Cada estrella es observada decenas de veces a lo largo de la vida útil del satélite. Comparando esas observaciones, Gaia mide tres cosas que importan para construir un mapa estelar:

  • Posición — coordenadas precisas en la esfera celeste con resolución de microsegundos de arco.
  • Paralaje — el desplazamiento aparente de una estrella vista desde dos puntos distintos de la órbita terrestre. A partir del paralaje se calcula la distancia.
  • Movimiento propio — la velocidad con que la estrella se desplaza por el cielo a lo largo de los años.

El tercer Data Release (DR3), publicado en 2022, contiene información sobre 1.811 millones de objetos. Es, hasta la fecha, el catálogo estelar más completo y preciso producido por la humanidad. Y lo más importante para los desarrolladores: es público y gratuito, descargable en formatos como FITS o CSV, o vía consultas SQL al Gaia Archive.

💭 Clave: Gaia no fotografía el cielo en alta resolución como Hubble o James Webb. Su valor está en la medición de precisión: posición, distancia y velocidad de casi 2.000 millones de estrellas con un nivel de detalle nunca antes alcanzado.

La conexión con Project Hail Mary

En la novela de Andy Weir, el protagonista despierta solo en una nave a años luz de la Tierra, sin recordar quién es. Una de las primeras herramientas que utiliza para reconstruir su situación es la astronomía: identifica estrellas conocidas a partir de sus posiciones relativas para deducir desde qué punto del espacio las está observando.

El ejercicio es ficción, pero la mecánica es real. Si tuvieses acceso a un catálogo como el de Gaia y un par de telescopios decentes, podrías triangular tu posición galáctica observando estrellas cuya distancia conocés con precisión. Esa es la idea que conecta el proyecto con la novela: convertir un dispositivo de trama literaria en una herramienta interactiva que cualquiera puede experimentar.

Para los lectores de Weir que también programan, el proyecto funciona como un puente entre la inspiración narrativa y los datos científicos reales. No reemplaza la novela; la complementa. Y para los aficionados a la astronomía sin formación en ciencia de datos, ofrece una manera de explorar visualmente un catálogo que normalmente requeriría conocimientos de astronomía de posición.

Cómo funciona técnicamente

Aunque cada implementación varía, los proyectos de visualización estelar en navegador suelen seguir un patrón común. El stack típico incluye Three.js o WebGL para el renderizado tridimensional, un dataset preprocesado (porque servir los 1.800 millones de estrellas crudas no es viable en un navegador) y conversiones de coordenadas astronómicas a coordenadas cartesianas.

El flujo típico es algo así:

graph LR
    A["Gaia DR3"] --> B["Subset filtrado"]
    B --> C["Conversion a XYZ"]
    C --> D["Empaquetado binario"]
    D --> E["Renderizado WebGL"]
    E --> F["Navegador del usuario"]
Enter fullscreen mode Exit fullscreen mode

La parte interesante es la conversión de coordenadas. Gaia entrega cada estrella en coordenadas ecuatoriales (ra, dec) más el paralaje. Para situarlas en un espacio 3D navegable, hay que convertirlas a coordenadas cartesianas heliocéntricas usando la distancia derivada del paralaje:

// Conversion simplificada de RA/DEC + paralaje a XYZ heliocentrico
function gaiaToCartesian(ra_deg, dec_deg, parallax_mas) {
  const distance_pc = 1000 / parallax_mas;  // distancia en parsecs
  const ra = ra_deg * Math.PI / 180;
  const dec = dec_deg * Math.PI / 180;

  const x = distance_pc * Math.cos(dec) * Math.cos(ra);
  const y = distance_pc * Math.cos(dec) * Math.sin(ra);
  const z = distance_pc * Math.sin(dec);

  return { x, y, z };
}
Enter fullscreen mode Exit fullscreen mode

Con esa transformación aplicada a un subconjunto de estrellas cercanas (típicamente las que tienen paralaje confiable, lo que excluye objetos muy distantes), se obtiene una nube de puntos navegable en tres dimensiones. El brillo aparente se mapea a partir de la magnitud visible, y el color suele derivarse del índice de color BP-RP del catálogo.

💡 Tip: El Gaia Archive permite consultas con ADQL (un dialecto SQL para astronomía). Una consulta del tipo SELECT * FROM gaiadr3.gaia_source WHERE parallax > 10 te devuelve estrellas a menos de 100 parsecs, ideal para empezar a experimentar.

Cada punto luminoso del cielo corresponde a una entrada en el catálogo Gaia.

Por qué importa para desarrolladores

Proyectos como Gaia Mary cumplen varios roles a la vez. Para quien aprende, son un ejemplo de cómo trabajar con datos científicos reales sin pedir permiso ni pagar licencia. Para quien enseña, son una demostración de que la ciencia abierta funciona: la ESA libera los datos y la comunidad construye herramientas sobre ellos.

Para LATAM en particular, donde el acceso a infraestructura de cómputo de alto rendimiento es limitado, los proyectos basados en GitHub Pages son una manera de participar en la cultura del software científico sin costos. Un estudiante de astronomía en San Salvador, Bogotá o Buenos Aires puede subir su propia visualización al mismo dominio gratuito que cualquier desarrollador en Berlín o Tokio.

El stack es replicable y modesto:

  • Frontend — HTML, CSS, JavaScript puro o un framework liviano. No hace falta React.
  • 3D — Three.js o WebGL crudo. Three.js abstrae la mayor parte del boilerplate.
  • Datos — un dump del Gaia Archive en formato JSON o binario, servido como asset estático.
  • Hosting — GitHub Pages, Cloudflare Pages o Netlify. Todos tienen tier gratuito que sobra para este tipo de proyecto.

Cómo experimentar con datos de Gaia

Si querés replicar el ejercicio o construir algo similar, los pasos son directos. Necesitás Node.js o Python para preparar los datos, y un navegador moderno para visualizarlos.

Windows / macOS / Linux — instalación de Three.js con npm:

# Windows (PowerShell), macOS y Linux usan el mismo comando
npm init -y
npm install three
npm install --save-dev vite
Enter fullscreen mode Exit fullscreen mode

Consulta básica al Gaia Archive con Python:

from astroquery.gaia import Gaia

query = """
SELECT TOP 10000
  source_id, ra, dec, parallax, phot_g_mean_mag
FROM gaiadr3.gaia_source
WHERE parallax > 20 AND parallax_over_error > 10
"""

job = Gaia.launch_job_async(query)
results = job.get_results()
results.write('nearby_stars.csv', format='csv', overwrite=True)
Enter fullscreen mode Exit fullscreen mode

Con ese CSV podés alimentar un visualizador en navegador. El paralaje mayor a 20 milisegundos de arco te limita a estrellas a menos de 50 parsecs (unos 162 años luz), un subset suficiente para una demo interactiva y liviana que cargue rápido incluso en conexiones móviles.

⚠️ Ojo: El catálogo completo de Gaia DR3 pesa cientos de gigabytes. Si bajás demasiados datos sin filtrar, vas a saturar disco y memoria. Empezá siempre con un subset pequeño y subí desde ahí.

Qué sigue

La ESA prevé un Gaia Data Release 4 (DR4) en los próximos años, con datos espectroscópicos y curvas de luz aún más detalladas. Cuando salga, los proyectos derivados —incluyendo Gaia Mary y cualquier otro mapa estelar comunitario— van a poder incluir clasificaciones estelares y variabilidad temporal que hoy no están disponibles públicamente.

Más allá de Gaia, la misión James Webb y los próximos telescopios terrestres como el Vera Rubin Observatory van a producir datasets de magnitud comparable. La frontera entre datos científicos profesionales y recursos para hobbyistas sigue diluyéndose. Proyectos como Gaia Mary son la prueba de que un programador con curiosidad y un navegador puede explorar el universo con más detalle del que tenía un astrónomo profesional hace tres décadas.

📖 Resumen en Telegram: Ver resumen

Preguntas frecuentes

¿Qué es exactamente la misión Gaia?

Gaia es un satélite de la Agencia Espacial Europea lanzado en 2013 que mide con precisión la posición, distancia y movimiento de casi 2.000 millones de estrellas de la Vía Láctea. Es el catálogo estelar más detallado producido hasta la fecha.

¿Necesito conocimientos de astronomía para usar Gaia Mary?

No. La interfaz es visual y permite explorar el mapa estelar sin más conocimientos que mover el mouse. Si querés profundizar, conceptos como paralaje, magnitud aparente e índice de color te van a ayudar a interpretar lo que ves.

¿Los datos de Gaia son gratuitos?

Sí. La ESA libera los Data Release completos bajo política de acceso abierto. Cualquier persona puede descargarlos del Gaia Archive sin registro y usarlos para investigación, educación o proyectos personales.

¿Qué relación tiene con la novela Project Hail Mary?

Project Hail Mary es una novela de Andy Weir donde un astronauta usa la astronomía para orientarse en el espacio. Gaia Mary toma esa idea como inspiración temática, pero usa datos reales del catálogo Gaia. No es contenido oficial del libro ni de la editorial.

¿Puedo usarlo en un proyecto comercial?

Los datos de Gaia están en dominio público bajo la política de la ESA. El código del proyecto Gaia Mary se rige por la licencia que el autor haya elegido en su repositorio. Verificá la licencia antes de reutilizar código.

¿Funciona en celular?

Depende del dispositivo. Los proyectos basados en WebGL corren en celulares modernos, pero la cantidad de estrellas renderizadas y la fluidez pueden variar. En equipos antiguos o de gama baja, el rendimiento puede ser bajo.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)