Exemples de programmes ou scripts utilisés dans la conversion des donées
d'entrée (\vizConvert), ou bien dans l'ajout de colonnes (\vizAddColumn)
Conversions astrométriques
La librairie awk /usr/local/too/coolib.awk permet les
opérations de base sur les positions; dans cette librarie,
la position est décrite par un vecteur o de 2 nombres (o[1] et o[2])
contenant les positions en degrés, ou bien par
ses cosinus directeurs (vecteur u de 3 nombres u[1], u[2], u[3] tels
que u[1]2+u[2]2+u[3]2=1).
La précision d'une position est un entier de 0 à 12:
0 | si la position est inconnue (pas de donnée de position), |
| 5 | pour une précision de 1'' ou 10–4°, |
1 | si la précision est de 1°, |
| 6 | pour une précision de 0.1'' ou 10–5°, |
2 | pour ue précision de 0.1°, |
| 7 | pour une précision de 0.01'' ou 10–6°, |
3 | pour une précision de 1' ou 0.01°, |
| 8 | pour une précision de 1mas ou 10–7°, |
4 | pour une précision de 0.1' ou 0.001°, |
etc... |
Fonctions accessibles:
- interprétation d'une position écrite sous forme d'un texte:
- lonlat(texte, o);
texte contient en entrée une position sous
forme de degrés décimaux
(par exemple 123.458 +75.123).
En retour, la fonction donne la précision
- radec(text, o):
texte contient en entrée une position équatoriale
sous forme sexagésimale (composantes heures/minutes/seconds
séparées par des blanxs ou bien des double-points :, comme
01:02:03.12+01:02:03.4 ou encore 1 2 3.12 +1 2 3.4)
En retour, la fonction donne la précision
- édition d'une position:
- apos(o, prec): édition d'une position o en
degés décimaux, avec la précision prec, par exemple
apos(o, 5) (précision de 4 chiffres après la virgule)
- aradec(o, prec): édition d'une position o
sous forme equatoriale HH:MM:SS...±DD:MM:DD:SS....
- position centrale et offsets
(par rapport à une position centrale, les décalages x et y
peuvent aussi s'exprimer sous forme d'une distance ρ et
d'un angle de position (Nord vers Est) θ):
- odist(o1, o2): calcule la distance (en °)
entre 2 positions
- osep(o1, o2): calcule la séparation ρ (en '')
entre 2 positions.
- opa(o1, o2): calcule l'angle de position θ
(PA) entre 2 positions
- addoffs(o, x, y): ajoute à la position originale
les décalages x et y (en ''). En retour de la
fonction, o est modifiée.
- xypos(oc, x, y, o): ajoute à la position oc
du centre les décalages x et y (en ''), et met le
résultat dans o.
- conversion position o et cosinus directeurs u:
trou(o, u) et la fonction réciproque truo(u, o).
Exemples de calculs
- distance entre 2 positions
-
Ajouter une colonne contenant la distance (séparation) entre 2 positions
proches dans /ftp/cats/J/AJ/143/67/.status:
#!/bin/sh
# Compute the distance from the position RA1 and RA2 in table2.dat
map1='${RA1h}:${RA1m}:${RA1s}${DE1-}${DE1d}:${DE1m}:${DE1s}'
map2='${RA2h}:${RA2m}:${RA2s}${DE2-}${DE2d}:${DE2m}:${DE2s}'
tabmap -data -map "$map1 $map2" ./table2.dat | gawk -v -f /usr/local/too/coolib.awk --source '
{radec($1, o1); radec($2, o2);
printf "%6.2f\n", osep(o1,o2)}'
- packed identification des astéroïdes
-
Un format particulier, dit MPC packed identification
pour désigner les astéroïdes, peut être
interprété pour être compréhensible comme nom
de la base d'astéroïdes (B/astorb) avec le script awk
/usr/local/too/MPC.awk. Exemple d'utilisation
dans /ftp/cats/J/ApJ/742/40/.status