gaia-web

About

This repo contains scripts to process GAIA DR3+ data and convert it into a Three.js visualization for the web, allowing one to either fly through the stars using WASD and mouse movement, or visit interesting spots in the galactic neighbourhood via the built-in tour facility.

Live demo

https://ejtaal.github.io/gaia-web/gaia-web-starfield.html

The demo is courtesy of Github Pages and currently hosts these datasets through the gaia-web-data repository:

Please note that with standard webserver gzip compression, actual data transferred is around 30-40% of the numbers above.

Performance tips

A good GPU is recommended (RTX2060 / RTX 3060 Mobile or better). If rendering still only gives low FPS then ensure the browser is using the right GPU in your machine. Check task manager-> Performance to see which GPU is being used for rendering. If your built-in is being used instead of your AMD/NVidia one, enable the latter by:

Enjoy a high performance 3D star field 😎

Running it locally

To avoid downloading all this data over the internet and host it locally instead, create an empty folder on your machine, then clone the gaia-web and gaia-web-data repositories both in there. Then run a http server from the folder, e.g.:

$ mkdir gaia && cd gaia
$ git clone https://github.com/ejtaal/gaia-web
$ git clone https://github.com/ejtaal/gaia-web-data
$ python3 -m http.server --directory . 8082

You should then be able to see the website at: http://127.0.0.1:8082/gaia-web/gaia-web-starfield.html

A word only conveys a milli-picture, so here is a screenshot of work in progress, showing a side view of the Hyades cluster with Sol at the axes origin:

Gaia Web @ Hyades open cluster

A video can be found here:

IMAGE_ALT

The video shows off the “tour” feature, where the camera visits some open clusters and flys around them. (Yes, annotations and smoother orbits are already on TODO list 😉 )

The orange stripes are there because at the time of creating the video I only had about 10% of all Gaia data files, chosen at random. Because the Milky Way is overrepresented according to the HEALPix division of the data (See https://www.cosmos.esa.int/web/gaia-users/archive/extract-data and this lovely picture: https://www.cosmos.esa.int/documents/3414525/8760265/GaiaDR3_partitions_galactic.png/a2852722-bd04-d86c-ffc4-ed877b22fc93?t=1667563775853), this will result in “streams” of stars appearing to eminate from the origin/Sol as long as a full data download hasn’t been done yet.

One could say a picture only conveys a mill-VR scene, so hopefully I can host a semi-finished version somewhere that can handle some data usage.

Why

Ever since learning about the Gaia mission I knew that, besides the obviously real science grown-ups would use it for, a visualization like this one would also be an amazingly awesome use of the data. Instead of watching the USS Enterprise flying through randomly generated star fields, one could explore our galaxy the way it actually is. I was hoping to one day create this project, but was intimidated by the learning curve of all 3D software. When I recently used Three.js for a work project which also featured a 3D scatter plot, it was much less painful than I imagined and hence applied the knowledge learned there to this project.

Some tech details

Tech details of how data is extracted/stored/processed:

TODO:

Other visualizations

Credits