Trucos para mostrar el firmamento con Google Maps v3

A tenor de haber estado currando estos días en cbeams.org he aprendido una serie de cosillas sobre Google Maps v3 y la opción de ver el firmamento. Para empezar diré que Google Maps v3 no da soporte directo para mostrar el firmamento, la Luna o Marte. No podemos decirle a la API que nos de una capa en concreto en plan MapTypeId.ROADMAP o MapTypeId.HYBRID. Hay que hacer un truco para cargar los mapas del espacio como una nueva capa. Mi solución tras romperme mucho la cabeza y darle bastantes vueltas ha sido la que podéis encontrar funcionando en skymaps.js a partir de un ejemplo que encontré aquí.

Otro truco es convertir la declinación y la ascensión derecha en formato decimal de manera que Google Maps pueda entenderlas. Al principio hacia la misma formula que usaba la latitud y longitud (grados + minutos / 60 + segundos / 3600) que si funcionaba con la declinación, pero en la ascensión derecha no tiraba correctamente. Para ello tuve que recurrir a estas dos formulas.

function convertRaToDecimal ($ra) { //Ascension derecha en formato hh:mm:ss
list($hours, $minutes, $seconds) = explode(":", $ra);
$hour = ($hours + ($minutes/60) + ($seconds /3600));
$d = ($hour/24)*360 + 180;
if ($d >180) $d=$d -360;
return $d*-1;
}


function convertDecToDecimal ($dec) { //Ascension derecha en formato gg:mm:ss
list($degrees, $minutes, $seconds) = explode(":", $dec);
if ($degrees < 0) {
$minutes = $minutes*-1;
$seconds = $seconds*-1;
}
return ($degrees + ($minutes/60) + ($seconds /3600));
}

Aún así tengo que seguir investigando ya que tengo problemas al mostrar la Estrella Polar, ya que me saca fuera del mapa, cuando en principio las coordenadas son correctas. También tengo que mirar de quitar el control de Google Street View que da problemas., ya que saca imágenes de la tierra.

Mi primer proyecto en Silex, cbeams.org

Hace unos 10 días fui a un evento aquí en Bilbao denominado BilboStack. En una de sus charlas, Javier Eguiluz hizo una presentación de Silex, un potente microframework para PHP, que me convenció de probarla. Tenía en la cabeza algunas ideas de cosas que me gustaría desarrollar y decidí montar un mashup de astronomía, sacando la información y las imágenes de diferentes fuentes y APIs. Esa misma tarde tenía montado ya el proyecto medianamente funcional y solo necesitaba darle un poco de diseño y mejorar la recogida de datos. Así que ayer y metiendo unas pocas horas más entre semana termine la primera fase del proyecto que he denominado cbeams.org (si te gusta Blade Runner sabreís porque se llama así). Uno de estos días me tengo que liar la manta la cabeza y subir todo el proyecto a Github para que le podaís echar un vistazo.

Sobre Silex dire que me ha convencido bastante. Te da la capacidad de programar con calidad y rápidamente proyectos pequeños y medianos con un código limpio y una estructura rapida, sobre todo si sigues la que te recomienda el propio creador de Silex.