Archivo de la etiqueta: PyEphem

Astrometría en Python con PyEphem


  

Uno de mis hobbies es la Astronomía y eso me ha llevado a investigar las herramientas que existen actualmente para realizar cálculos de Astrometría. Leyendo en internet y también por recomendación de amigos decidí utilizar Python para este entrada, por sus avances en materias científicas en relación a otros lenguajes de desarrollo.

Sin ningún fin es particular decidí utilizar PyEphem para ejemplificar la utilización de Astromería en Python. PyEphem es un módulo para realizar cálculos astronómicos tales como posiciones de astros, planetas, horas de orto y ocaso de los astros, etc. También se puede calcular la posición de cometas, asteroides y satélites una vez proporcionados los elementos orbitales de los mismos.

Comencemos! Para este ejemplo utilizo una distribución basada en Red Hat, pero pueden utilizar la que deseen, aunque los nombres de los paquetes pueden variar sutilmente.

Porsupuesto lo primero que debemos verificar, son los paquetes necesarios: python, python-devel para las herramientas de desarrollo y gcc para la compilación de pyephem.

sudo yum install python python-devel gcc

Luego a través del gestor de paquetes de python easy_install instalamos otro gestor llamado pip.

sudo easy_install pip

Y finalmente instalamos PyEphem.

sudo pip install pyephem

Y ahora un ejemplo de utilización.

vim ejemplo_pyephem1.py
# Importamos la libreria de PyEphem
import ephem as ep

# Creamos un objeto Martes, ep.now() hace referencia a este momento
martes = ep.Mars(ep.now())

# Imprimimos la constelacion en la cual se encuentra Martes en pantalla
print ep.constellation(martes)

Ejecutamos.

python ejemplo_pyephem1.py

Otro ejemplo para soltar más la muñeca

vim ejemplo_pyephem2.py
#Importamos nuestra libreria
import ephem as ep

# Creamos un observatorio ubicado en Santiago.
# Podemos agregar y modificar las coordenadas de nuestras ciudades en:
# /usr/lib64/python2.7/site-packages/ephem/cities.py
santiago = ep.city("Santiago")

# Obtenemos la fecha actual de Santiago
santiago.date = ep.now()
print "Fecha hoy: ", santiago.date

# Anulamos la Refraccion atmosferica
santiago.pressure = 0 

# Creamos un objeto Martes y uno Saturno en el observatorio de Santiago.
martes = ep.Mars(santiago)
saturno = ep.Saturn(santiago)

# Imprimimos la altura y azimut desde el Observatorio de Santiago.
print "Martes: ", martes.alt
print "Saturno: ", saturno.alt

# Imprimimos la separacion entre ambos planetas 
print "Separacion entre Martes y Saturno", ep.separation(martes,saturno)

# Proxima luna llena en el observatorio de Santiago
print "Luna llena: ", ep.next_full_moon('2012')

Ejecutamos.

python ejemplo_pyephem2.py

Más información en la página oficial de PyEphem.

Recuerden visitar nuestra comunidad de Python Chile!