18 de agosto de 2009

:: WeatherBug. API del Tiempo


WeatherBug es una API para construir aplicaciones relacionadas con las previsiones meteorológicas -más o menos en tiempo real - de una determinada zona.
Para comenzar a utilizarla, es necesario un registro previo, por lo que deben leerse las condiciones de uso. Una vez registrados, se nos asignará una clave que irá asociada a nuestras llamadas a los distintos métodos.

A continuación realizaremos un ejemplo de uso de esta API.
1.- Nos registaremos en la siguiente url
2.- Tras cumplimentar los datos requeridos, recibiremos un correo electrónico en el buzón especificado, completando el proceso de registro pulsando sobre la url que aparece en el mensaje
3.- El servicio - tal y como nos informan en el correo - puede tardar unas horas en estar activo, por lo que obtendremos un mensaje de "Acceso denegado"
4.- Creamos un ejemplo en el que nos interesa saber la predicción del tiempo y temperatura de una ciudad

//Clave de la API
$CTE_CLAVE_API='XXXXXXXXXX';

//Longitud y latitud
$CTE_LONGITUD=XXXXXXXX;
$CTE_LATITUD=XXXXXXXX;

//Tipo de unidad. En nuestro caso Sistema métrico decimal
$CTE_TIPO_UNIDAD=1;

//Tipo de salida. En nuestro caso fichero XML
$CTE_TIPO_SALIDA=1;

//Realizamos la llamada
$data = file_get_contents('http://'.$CTE_CLAVE_API.'.api.wxbug.net/getLiveWeatherRSS.aspx?
ACode='.$CTE_CLAVE_API.'&lat='.$CTE_LATITUD.'&long='.$CTE_LONGITUD.
'&UnitType='.$CTE_TIPO_UNIDAD.'&OutputType='.$CTE_TIPO_SALIDA);


//incluimos el archivo con la funcion 'xml2array.php'
include('xml2array.php');
//guardamos el archivo xml en un array
$result = xml2array($data);

//Fecha
$anio=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:year_attr']['number'];
$mes=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:month_attr']['number'];
$dia=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:day_attr']['number'];

//Hora
$hora=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:hour_attr']['hour-24'];
$minuto=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:minute_attr']['number'];
$segundo=$result['aws:weather']['aws:ob']['aws:ob-date']['aws:second_attr']['number'];

//Temperatura
$temperatura=$result['aws:weather']['aws:ob']['aws:temp'];

//Predicción
$prediccion=$result['aws:weather']['aws:ob']['aws:current-condition'];
$icono_prediccion=$result['aws:weather']['aws:ob']['aws:current-condition_attr']['icon'];
?>

El código siguiente correspondería a la presentación de los datos, y también podríamos realizar un tratamiento previo para el proceso de IN18.

Más información: weather.weatherbug.com

No hay comentarios:

Publicar un comentario

Déjanos tu comentario

:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...