Jump to the CDS home page

Structure of UCAC1 compressed files

Jump to the VizieR home page
CDS · Simbad · VizieR · Aladin · Catalogues · Nomenclature · Biblio · StarPages · AstroWeb

The files are organized in zones, each zone being 0.5° wide, starting with zone 001 (file z001.bin) at the South Pole.

The first 80bytes of each of these files contain a text treated as a magic number - some keys which identify the file. Here are two examples:

file z001.bin
#UCAC1-18#12-1234(80chunks)#1998#750: Z001 00000001-00000908

file z123.bin
#UCAC1-17#12-1234(80chunks)#1998#750: Z123 21128972-21409220

The numbers at the end describe the zone number, and the range in the UCAC1 numbers contained in the file; the preceding numbers indicate the lowest values used for the magnitudes (7.50) and the Epoch (1998). The 17 or 18 number represents the length of the coded records - as 18 bytes near the Poles, or generally 17 bytes.

This first line is followed by 80 binary numbers of 4 bytes each (i.e. a total of 320 bytes) which represent the seek position, in the file, of chunks of data records, one chunk being approximately 18.5minutes wide in RA -- the exact range of RA is 224mas = 16777.216arcsec = 1118.4811sec.

Each chunk of data records starts with a chunk header which specifies the origins used for each parameter, the number of data records, etc. The data, made of fixed-length records of 17 or 18 bytes, follow this header.

The various structures are described in the following table:

file header (400 bytes)
80bytes``magic'' header
80*i4320bytesseek positions of the 78 data chunks
Chunk#0 Header (32+... bytes)
i44bytestotal length of chunk in bytes, rounded to a multiple of 4 bytes
i44bytesUCAC number of first star in the chunk
i22bytesLength of this header (32+...) bytes
i11bytesNumber of this chunk = leftmost byte value of RA
i11bytesN(m4) = Number of out-of-range proper motion values requiring a storage on 4 bytes
i11bytesN(mu) = Number of out-of-range proper motion values requiring a storage on 2 bytes
i11bytesN(Vm) = Number of out-of-range magnitude values
16*i116bytesout-of-range Nobs values
i22bytes(unused)
N(m4)*i4N(m4)*4bytesOut-of-range proper motions requiring 4-byte storage
N(mu)*i2N(mu)*2bytesOut-of-range proper motions requiring 2-byte storage
N(Vm)*i2N(Vm)*2bytesOut-of-range magnitudes
Chunk#0 Body
RA24bitsRight ascension in mas (offset in chunk) - is 32 bits near the poles
SPD21bitsSouth Polar Distance in mas (offset in chunk, value between 0 and 1800000)
Epoch11bitsEpoch of Position, in myr (origin 1998.000)
sRA8bitsSigma on RA (mas)
sDE8bitsSigma on DE (mas)
UCmag10bitsMagnitude in cmag: values between 0 and 950 are cmag with origin at 750, values from 951 on are out-of-range values reported in the chunk header
Nobs5bitsNumber of observations offset 2; values above 16 are out-of-range values reported in the header
Ncat5bitsNumber of catalogues offset 2
pmx13bitsProper motion in 0.1mas/yr, offset -2048; values larger than 4096 (i.e. outside the limits [-409.6 +409.6[mas/yr are out-of-range values (2-byte values if smaller than 6143, 4-byte proper motions for values larger than 6144)
spmx9bitsSigma on pmx in 0.1mas/yr
pmy13bitsProper motion in 0.1mas/yr, same conventions as pmx
spmy9bitsSigma on pmy in 0.1mas/yr


©ULP/CNRS - Centre de Données astronomiques de Strasbourg Question@simbad