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