-
Notifications
You must be signed in to change notification settings - Fork 331
Star Database binary format
Hleb Valoshka edited this page Feb 9, 2021
·
2 revisions
Star database contains data stored in Lower Endian bytes order.
Current database format, version 0100h
| Description | C Type | Size, bytes | |
|---|---|---|---|
| Header | |||
| Magic | char[] | 8 | CELSTARS |
| Version | uint16_t | 2 | 0100h |
| Number of stars | uint32_t | 4 | |
| Data chunks | |||
| Catalogue number | uint32_t | 4 | Number in a catalog |
| X position | float | 4 | |
| Y position | float | 4 | |
| Z position | float | 4 | |
| Abs magnitude | int16_t | 2 | absMag * 256 |
| Spectral type | uint16_t | 2 | Packed value, see below |
Spectral type consists of 4 values packed into a 16 bit integer, every value has length 4 bits.
| F | E | D | C | B | A | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Star type | Spectral type | Subclass | Luminosity class | ||||||||||||
We have 4 star types, 24 spectral types (0 – 15 are Normal stars, 16 – 23 are White dwarves), 10 subclasses, 8 luminosity classes. In case of White dwarves a value written is (value & 0xf).
So current database doesn’t support addition of new Normal stars.