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

:: Liferay. Script para ir al inicio de la página

En diversos temas de apariencia es necesario contar un enlace que permita al usuario realizar un scroll al inicio de la página. Este comport...