2015-09-14 1 views
2

J'ai utilisé Pyephem pour calculer la latitude et la longitude du soleil en fonction de la date, de la latitude et de la longitude d'un observateur au niveau de la mer. Je reçois des résultats que je ne comprends pas. Le code que je courais suit (sur ordinateur portable ipython dans Windows 7):PyEphem signalant différentes latitudes et longueurs que les valeurs d'entrée

import ephem 
date = '2015-04-17 12:30:00' 

Amundsen = ephem.Observer() 
Amundsen.lat = '46.8' 
Amundsen.lon = '-71.2' 
Amundsen.date = date 

sun = ephem.Sun(Amundsen) 
sun.compute(Amundsen) 

print Amundsen 
print "sun latitude: {0}, sun longitude: {1}".format(sun.hlat,sun.hlon) 

Le resulst I obtenus sont les suivants:

<ephem.Observer date='2015/4/17 12:30:00' epoch='2000/1/1 12:00:00'lon='-71:12:00.0' lat='46:48:00.0' elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar> 
sun latitude: -0:00:00.1, sun longitude: 207:11:10.2 

Comme vous pouvez le voir, lors de l'impression des données d'entrée, la latitude et la longitude de mon obesrver a été changée de 46,8 et -71,2 à 46,48 à -71,12. C'est peut-être un fait fondamental, mais pourquoi cela arrive-t-il? et comment corriger pour cela?

Merci à l'avance,

Grégory

Répondre

2

Les valeurs, heureusement, ne changent pas. Vous les avez saisies en décimales avec un point décimal . séparant chaque degré en dix dixièmes, mais ce n'est pas ainsi que la longitude et la latitude sont traditionnellement exprimées - elles sont généralement écrites en nombre entier, puis les soixantièmes appelés «minutes» et ensuite les soixantièmes de -sixtieths appelés "secondes" que PyEphem sépare avec le caractère :.

Alors 46:48 signifie "46 degrés 48 minutes de latitude" car 48/60 = 0,8.

L'utilisation libsastro de : est un compromis aux limitations de ASCII. Traditionnellement, les degrés minutes et secondes seraient délimitées par un symbole de degré, un premier et un double prime, qui est désormais possible en Unicode, mais pas très répandu dans les langages de programmation:

46 ° 48'00 "

I notez que dans les articles académiques de Bernard R. Goldstein, sur l'astronomie de la fin du Moyen Age et de la Renaissance, on utilise une notation académique utilisant un point-virgule pour la virgule et une virgule entre les minutes et les secondes, qui ressemble à:

46; 48,00 °

+0

bonjour Brandon, ok merci pour l'aide. Tout allait bien alors. – gregory