Galaxy Explorer started life as a test project to help me learn a development tool called Unity, after the company that created the tool I used to write Exoplanet and Solar Explorer, Shiva, went into liquidation.
While it was originally intended to test the performance of Unity and some of the ideas I had for the rewrite of my Shiva apps, as work progressed on Galaxy Explorer, I was sufficiently impressed with it that I decided to release as an app in it’s own right, for free.
The major feature that differentiates this app from Exoplanet Explorer is that it has the ability to import free star databases from several online sources, namely HYG and XHIP. In addition to this, I added a generic importer which will allow you to create your own star database, from any source you choose, using any fields you choose, for import and display within Galaxy Explorer.
This project is my first app written with Unity, and I have ideas for more features that I have not had time to implement in the first release. These include creating unique models that represent the different star types, and providing historical information about some of the more significant ones.
Data file format
Galaxy Explorer already knows the format of two of the more popular start databases, XHIP and HYGXYZ, and you also have the option of designing your own database, but you must include several mandatory fields so that Galaxy Explorer knows how to construct the galaxy. For each star, you’ll need to provide , but the rest is up to to you.
The app imports data from a CSV/Text file using a very simple format, which must include some sort of name, a stellar classification and a position:
- Name: You can provide multiple names from specific star catalogs, but you need to ensure that you use only one name per field, if you want to be able to easily search on a particular catalog. This means that each name needs to be in it’s own column, and have a specific header which defines which catalog it’s from. Permitted names that the app understands include “Name”, “ProperName”, “HIP”, “HD”, “HR”, “Gliese”, “BayerFlamsteed”
The name that is displayed in the app will be the Name or Proper Name. If neither of these are defined, then the app will use one of the other names,
- Class: O, B, A, F, G, K or M. Only the first character is used, so you can include a class such as G2V and Galaxy Explorer will assume it’s a G class star and render it accordingly. The name of the column must be “Spectrum”
- Position: This can either be an X, Y, Z coordinate measured in parsecs or a right ascension, declination (both in degrees), and a distance measured in parsecs. The distance column should be named “Distance”. The other columns to use are “RA” & “Dec”, or “X”, “Y”, “Z” if you already have the position.
Beyond these mandatory fields, you can include any additional data that you’d like to see. When you visit a star in the app, Galaxy Explorer will display the additional data in the info box on the right hand side of the screen.
As an example, the CSV data provided with the app has the following header line:
Name,HIP,Component(s),Class SIMBAD,Constellation,RA,Dec,Parallax, Proper motion RA,Proper motion dec,RA std. error,Dec std. error, Parallax std. error,Parallax RA std. err.,Parallax dec. std. err., HIP astrometry ref.,Proper motion ref.,Galactic longitude, Galactic latitude,Distance,Distance error,Proper motion gal. long., Proper motion gal. lat.,Distance gal. center (X),Distance gal. rotation (Y), Distance gal. n. pole (Z),Distance galactocentric ,Velocity transverse, Spectrum,Class temperature,Class luminosity,Radial velocity, Radial vel. std. error,Radial velocity quality,Fe/H,Fe/H std. error, Fe/H quality,Age,Age lower confidence,Age upper confidence, Velocity gal. center (U),Velocity gal. rotation (V), Velocity gal. n. pole (W),Velocity total (UVW),Orbit min. distance, Orbit timing,Orbit eccentricity,Orbit peri. angle (-180/180), Orbit semi-major axis,Orbit semi-minor axis,Orbit focus to center, Orbit semilatus rectum,Orbit radius at peri.,Orbit radius at apo., Exoplanets,Exoplanet disc. Methods
In general, it’s best to keep the field names short, if you can, because the app only has so much room in the information box. One way of gaining a bit of extra space is to name related fields similarly. For example, if you had two distances, you could name the two fields “Distance one” and “Distance two”. The app will group these values together under the heading “Distance”, with a line for “One” and second for “Two”.
Please keep in mind that this app can be quite memory intensive. I have found that very low end Android devices can handle 15,000 stars (which is why it ships with that many stars in the database). As a general guide, you’ll require approximately 1GB of RAM per 100,000 stars. The largest database I’ve tried (HYGXYZ) has about 120,000 stars and it will load and run on my Transformer Prime with 1GB of RAM, though it does consume most of the device’s memory. The same database will not load on my low end tablet which only has 384MB of RAM.
How do I import?
When you click the import button, you’ll be presented with four options. Choosing one of the first three will result in the app asking you to authorise it’s use with Dropbox. If you agree, then a folder will be created in your Dropbox account called “GalaxyExplorer”, which is where you need to copy your data files so that the app can see them.
If you are importing your own custom data, then simply place the CSV file in the Galaxy Explorer folder under Dropbox.
When importing XHIP or HYG data there’s an extra step because the file that you download will be compressed, so you’ll need to extract it. HYG data is always a single CSV file, so you can just copy that to your Galaxy Explorer Dropbox folder. The XHIP archive will contain more files, but the only one you are interested in is called “main.dat” and that’s the one to copy to Dropbox.