Bom dia,
Mais uma vez obrigada. Como disse, segue o trabalho (quase) feito.
Tenho um novo desafio.
Conseguir calcular o fuso horário em relação há posição do utilizador. Para se calcular a hora de inverso e verão. ( Para o qual o Marcel Rodrigues tinha-me chamado a atenção.)
"Em python podemos calcular a hora UTC e calcular a hora em qualquer outro FUSO, com DST (daylight saving time). Depois calculamos a diferença.
Talvez até seja fácil saber o fuso horário em função da lat/lon, mas para já, o utilizador tinha que passar a timezone para o resultado do nascer e o ocaso apareça nas horas locais ... Ou o utilizador passa a hora do seu local, no formato ISO que já tem o fuso horário."
Vou tratar de me por na busca da solução.
Versão bem composta :)
A minha versãozinha :)
#-*- coding: utf-8 -*-
import ephem
####Parte 1:
#Fases da Lua:
Meses = range(12)
for i in range(0,12):
Meses[i]="2015/"+str(i+1)
for mluas in Meses:
# mluas = luas durante o mes
m1 = ephem.next_full_moon(mluas)
m2 = ephem.next_last_quarter_moon(mluas)
m3 = ephem.next_new_moon(mluas)
m4 = ephem.next_first_quarter_moon(mluas)
FasesLua = [m1,m2,m3,m4]
print FasesLua
####Parte 2:
#Nascer e Por do Sol:
#Calcular atendendo à posição de um observador:
obs = ephem.Observer()
obs.lon = '-8.446'
obs.lat = '40.575'
obs.elevation = 32.42
#Camara Municiapal de Águeda, Aveiro, PT
NasPorSol =[[0 for x in range (3)]
for x in range (365)]
obs.date = ephem.Date('2015/6/1')
a=obs.date
for i in NasPorSol:
sol = ephem.Sun(obs)
nascer = obs.next_rising(sol,a)
hora_n = ephem.Date(nascer + 1 * ephem.hour) #para correcção da hora
print 'Nascer do Sol', hora_n
porsol = obs.next_setting(sol,a)
hora_p = ephem.Date(porsol + 1 * ephem.hour)
print 'Por do Sol ', hora_p
a=a+1
****