Celestia/星数据库格式
外观
< Celestia
另请参见GitHub 上的此页面。
stars.dat 文件包含有关星体的二进制格式信息。字节顺序是小端序。格式如下:
一个 14 字节的文件头
8-byte character string "CELSTARS" 2-byte unsigned integer version number = 0x0100 4-byte unsigned integer number of records in file
然后是长度为 20 字节的记录,格式如下
4-byte unsigned integer Hipparcos catalog number (=0 for Sol) 4-byte floating point x-coordinate in light years 4-byte floating point y-coordinate in light years 4-byte floating point z-coordinate in light years 2-byte signed integer absolute magnitude * 256 2-byte unsigned integer spectral class
x、y 和 z 坐标的计算方法如下
其中d 是以光年为单位的距离,θ = RA + 180°,φ = Dec − 90° 且 ε = 23.4392911°。
光谱类型用四个十六进制数字 0xKTSL 表示。
K 位表示物体的类型,它们是:
K=0 normal star K=1 white dwarf K=2 neutron star K=3 black hole
T 位表示光谱类型。它的含义取决于物体是普通恒星还是白矮星。当物体是中子星或黑洞时,此位被忽略。
normal stars white dwarfs ----------------------------------------------------- T=0 spectral type O spectral type DA T=1 spectral type B spectral type DB T=2 spectral type A spectral type DC T=3 spectral type F spectral type DO T=4 spectral type G spectral type DQ T=5 spectral type K spectral type DZ T=6 spectral type M unknown spectral type D T=7 spectral type R spectral type DX T=8 spectral type S T=9 spectral type N T=a spectral type WC T=b spectral type WN T=c unknown spectral type T=d spectral type L T=e spectral type T T=f spectral type C
S 位表示光谱亚型。此位对于中子星和黑洞被忽略。
S=0 spectral subtype 0 S=1 spectral subtype 1 S=2 spectral subtype 2 S=3 spectral subtype 3 S=4 spectral subtype 4 S=5 spectral subtype 5 S=6 spectral subtype 6 S=7 spectral subtype 7 S=8 spectral subtype 8 S=9 spectral subtype 9 S=a unknown spectral subtype
L 位表示光度等级。此位仅与普通恒星相关。
L=0 luminosity class Ia-O L=1 luminosity class Ia L=2 luminosity class Ib L=3 luminosity class II L=4 luminosity class III L=5 luminosity class IV L=6 luminosity class V L=7 luminosity class VI (also written as prefix sd) L=8 unknown luminosity class
因此,光谱类型为 G2V 的恒星使用数字 0x0426。
在 1.4.0 版之前,Celestia 使用了略微不同的 stars.dat 格式。
一个 4 字节的文件头,格式如下:
4-byte unsigned integer number of records
然后是长度为 25 的记录
4-byte unsigned integer Hipparcos catalog number 4-byte unsigned integer HD catalog number 4-byte floating point Right Ascension in degrees 4-byte floating point Declination in degrees 4-byte floating point Parallax (in milliarcseconds?) 2-byte signed integer Apparent magnitude * 256 2-byte unsigned integer Spectral class 1-byte unsigned integer Parallax error * 200
请注意,对于 Celestia 的当前版本,HD 目录号存储在 hdxindex.dat 文件中。