Yuma Antoine Decaux
September 11, 2018
My endeavour to map out the sky has reached a big milestone, and more opened doors to more knowledge I did not have until now, and the search continuous on, alongside life, work and passions. This has brought me to the stargazing app, Astreos.

COMING SOON- Please leave your details to be notified when it is released


So far, outside of the solar system's 780 thousand celestial bodies, provided by the Horizon system (thanks to Jon Giorgini from NASA for helping with this), I have encountered several professional databases such as the HYG, the Hipparcos, the Harvard SEO database list or the Yale bright star catalogue. Finally, the largest catalogue service which compiles the majority of available ones is the Vizier located in France. These are a great measure of what is bleeding edge out there, and I took some time scripting in python to merge and establish some very data centric tables that will be consumed on load for the app.These catalogues are all aggregations and the convergence of historically agreed upon denominations, features and parameters including right ascent, descent (in J2000 epoch), magnitude, spectral types and luminosities. 

The largest of the catalogues contains more than 1 billion stars, most which cannot be seen by the naked eye.

A note on spectral types: By checking unique spectral types with combinations of main types [A,B,C,F,G,K,M] and sub sets, I got 4800 different types of spectral readings. These go from supernovas, quasars, hyper giant stars, to white dwarfs. To add more to an already stellar complexity, some are combined stars (dual, tri, quad and clusters) which have a degree of uncertainty as they are so close together. The list is mind blowing. if you want to see more about these categories, head to this link.

To trim this down to something manageable for an IOS system, I decided to keep it at stars which have magnitudes (or brightness indices) larger than 6.8. These stars are those which are visible to most non scientific telescopes or the naked eye. They all reside within known areas in the sky, which are clusters of stars forming the constellations. There are 89 officially approved star clusters, or constellations, each with varying numbers of stars from 600 to over 8k each. They have a varying number of star categories, going from brightest and hottest (O) to dimmest (M) with sub sets of these in ranges from 1 to 9, where 9 is the brightest. 

This makes an aggregation of over 118,000 stars which need to be sorted through, analysed, categorised, then illustrated visually in a 3D environment. The constellations take shapes representative of their names, and we should respect our ancestors for having had the creative mindset to set them in the configurations we know them for. How did they actually figure tens of thousands of years ago that each zodiac, or constellation would represent 30 degrees each in the sky? Pi anyone? My favorite constellation is Pegasus. That's only because my first name has horse as suffix, as I was born in the year of the horse. And horses are, well, gentle and strong beings with a love for freedom and outdoors. 

First things first, The HYG database, though available as a single large .csv file, is missing many common star names associated to the constellations. Doing a simple query finds about 157 unique names for 89 constellations. There are obviously many more stars, and since I'm looking for all the major stars for all the clusters, I need to merge data from another larger database. Astroquery does exactly that. This python module allows me to query the Vizier database and retrieve all the information I need and output it as an ASCII table. 

To merge this, I need to get all the star identifiers in my original table, use them as query keys and get the output. I found the catalog 'IV/27A' compiled as a cross referencing catalog using HD and BFD identification, with the name and its alternative denomination, with 4000 entries. perfect!

Pandas is a library specifically tailored for data scientists, with a very simple way of importing, manipulating and exporting data. Takes 5 minutes to do the work once the preliminary merging strategy is thought out. Coordinate cartography though the database contains the (x, y, z) Cartesian coordinates to each of the stars, this system is dependent on a coordinate system out of several available ones, depending on where you want to look at it. In the case of the HYG database, coordinates are set at x positive along the meridian of the equator, z going north and y taking the normal of z and x.. 

From earth, we can have the ECI (Earth Coordinate Inertial) which is basically taking it from the centre of the planet. However, this app takes into account the location of the gazer, and needs to be converted to ECEF (Earth Centred Earth Fixed) to be accurate. 

Furthermore, there are several local systems one can choose from, such as NED (North East Down) or ENU (East North Up) which both dictate which axis line goes where. In the case of ENU, East is positive x, North is the polar axis, and up is perpendicular to the surface you're standing on, looking straight up to the sky. Taking into account, LLH coordinates (Longitude, Latitude, Height) or the exact position of the gazer on a radial axis system, and bearing in mind that the planet has 2 radii, the equatorial and the polar, with the latter being a factor of the first depending on your latitude, this demands a fairly advanced notion of basis transformations in vector spaces. 

Scaling the energy is the step is to scale stars light-years apart, or even parsecs, there needs to be a standardisation of distances, sizes, radii of the stars and other factors (luminosity, nebular presence, twinkling frequency (depending on magnitude min and max parameters), etc) to be represented properly in the sky. The first approach was to use a very specific measure of the radius of a star by an equation which can be extracted from available data on the HYG database I have used for populating the universe:

R = sqrt(L/(pi*SBConst*T^4))where L is the star's luminosity, SB is the Stephen Baltzmann constant (5.7*10^-8) and T is the temperature in Kelvin specified by the star's spectral category.

This gives a realistic proportion of the stars when assembled in its clusters. Looking at the giants the next step is the precise illustration of the stars into sets of images perfectly representing that star. There are blue hyper giants, brown dwarfs, binary stars, white dwarfs, but they can be reduced to 10 types of images which can then be manipulated to fit the sub categories of properties which makes them unique. Just as trivia, our Sun is a G2V category meaning that it has a surface temperature between 5000-7500 kelvin, is a mainstream star. with a white to yellow luminescence.There are also further features of the star, such as its age (in million years), habitable zone (in Astronomical Units, meaning 1 AU is the distance from our planet to the sun), and the abundance of the star in percentage of the universe.Moving amongst the stars. Here's a preliminary snapshot of one of the constellations, and a small video moving around the Gemini constellation.


As you can see, these look alright, but there are several astrophysical properties to take into account, principally energetic fields and flares emanating from the star, which generates the streaks, giving those giant balls of energy their name.

I will explain how we travel to Saturn in the next video