COORDINATES est le service qui calcule les transformations de coordonnées. Puisque sur les cartes du ciel nous avons les coordonnées équatoriales; en déclinaison et ascension droite. La longitude du lieu, une origine et l'heure UTC donnent le temps sidéral qui permet de retrouver les coordonnées pour une monture équatoriale.
Pour une monture azimutale, la lattitude du lieu rentre aussi en jeu. Et le résultat attendu est la hauteur au dessus de l'horizon et l'azimut dont le 0 est fixé dans la direction du nord et qui croit dans le sens trigonométrique (vue de dessus).
On peut aussi avoir besoin des calculs inverses: le télescope a été emmené par un opérateur dans une direction, donc les coordonnées azimutales sont connues et on veut connaître sa position équatoriale.
Le dernier cas d'usage est celui du besoin de planification des requetes. Le programme de planification a besoin de vérifier si la requête est possible à l'heure demandée, c'est à dire pas trop bas sur l'horizon. A noter aussi que pour les tests de non regression, c'est plus pratique d'avoir une heure que l'on peut fixer arbitrairement, plutôt que d'avoir à subir le changement permanent de l'heure. La comparaison des resultats permet d'apporter la preuve.
Les calculs sont expliqués sur la page wikipedia des coordonnées célestes sur cette page.
Ces calculs sont basés sur l'hypothèse que la Terre est une sphère et la shère céleste aussi. Le doute peut nous envahir sachant que la Terre est en fait un ellipsoide applati aux poles. La réponse qui m'a été donné est que le GPS donne les coordonnées du lieu comme si nous étions sur une sphère, c'est comme s'il y avait projection entre la sphère et l'ellipsoide. Il reste une erreur possible sur la direction de la verticale à cause d'inhomogénéïté de gravité.
Les caractéristiques principales (features) de ce service sont:
Les informaticiens verront au premier coup d'oeil que l'idée de SET et GET provient des "accesseurs" des langages orientés objet.
Exemples de commandes et de cas d'erreurs:
Requête du client | Réponse du serveur |
SET; | CMD KNOWN; |
GET; | CMD KNOWN; |
PBA; | UNKNOWN COMMAND; |
SET;DATE=2017:12:25A19H32m15; | CMD KNOWN;PRM DATE OK; |
RESET; | CMD KNOWN; |
GET;CGL; | CMD KNOWN;GEO.LOCAL;_Latt4902.496900,N;_Long109.567300,E; |
SET;CGL=_Latt4902.4969,N_Long00109.5673,E; | CMD KNOWN;PRM CGL OK; |
SET;CEQ=5h31m50.0s -20°51'20"; | CMD KNOWN;PRM CEQ OK; |
GET;CAZ; | CMD KNOWN;AZIMUTAL(°);H=-57.436885;Z=146.381219; |
SET;TRACE=1; | CMD KNOWN; |
GET;VER; | CMD KNOWN;NO PARAM;Service:Coordinates-V1.00-gerald.mauboussin@gmail.com; |
A propos de l'usage des majuscules... Deux Ecoles :
( Je ne suis ni pour, ni contre ! Bien au contraire ! ... c'est politique ! :-)
La commande SET;DATE impose la date pour les calculs mais ne change pas la date et l'heure du sous-système. Cette date est remise à l'heure UTC courante avec une commande RESET;
Le serveur TCP accepte au maximum 10 connexions par secondes.
Ce service peut tourner sur PC mais il a été développé en C sous Linux sur Raspberry PI B.
Du fait que les messages de commandes passent sur protocole TCP, beaucoup de possibilités s'ouvrent :
Et puisque ces IHM sont communes à tous les services du télescope, cela fera l'objet d'une page à part.
Réaliser les calculs m' a amené à traiter deux cas particuliers assez drôles :
1)Dans le cas où le client donne les coordonnées équatoriales à atteindre, et le service calcule les coordonnées azimutale, on peut tomber sur le cas ou H la hauteur vaut 90°. Alors l'angle de rotation est quelconque. Tous les angles peuvent convenir. Imaginez votre télescope azimutal pointant au Zenith, vous pourriez le faire tourner sur l'axe vertical, vous seriez toujours sur la même étoile. Mathématiquement nous nous trouvons dans le cas d'une division par 0, indétermination totale. Le choix que j'ai dû faire dans le logiciel est donc : l'angle de rotation reprend la dernière valeur connue.
2)Dans le cas où le client donne les coordonnées d'une étoile dans l'axe polaire. Les coordonnées azimutales sont connus par les codeurs du télescope. Le service calcule les coordonnées équatoriales. Là encore nous tombons sur une division par 0. Indétermination. Imaginez votre télescope sur une monture équatoriale, vous pointez l'axe de rotation de la Terre, si vous feriez tourner l'axe horaire de la monture, votre télescope pointerait toujours la même étoile. Le choix que j'ai dû faire dans le logiciel est du même type : l'angle horaire reprend la dernière valeur connue.
Heureusement ces cas sont d'autant moins rencontrés que la résolution des coordonnées du télescope est élevée.
Dans la version 2 du logiciel, il faudra prendre en compte les erreurs suivantes:
.../...
Contactez moi pour vos remarques ou les erreurs qui se seraient glissées dans cette page.
mailto:gerald.mauboussin@gmail.com
Copyright 2015- 2016. Cet article ne peut être reproduit totalement ou partiellement sans le consentement de son auteur.