Open Lab ¿Cómo estas mundo?
Share
Explore
Fuentes de datos

OpenWeather

🔗
OpenWeather (con base en Londres) es un equipo de tecnólogos que crea productos para negocios flexibles utilizando datos del clima. Por cada punto en el mundo, OpenWeather provee datos hiperlocales actualizados minuto a minuto, históricos, actuales, y desde pronósticos de corto plazo a anuales. Todos los datos son disponibles a través de APIs bajo estándares de la industria.
OpenWeather Ltd. posee más de tres millones de clinetes incluyendo compañías Fortune 500 y miles de compañías globales.

¿Qué datos están disponibles en OpenWeather?

Los datos disponibles son muchísimos:
Current weather ( 😎 vamos a usar este)
Minute forecast for 1 hour
Hourly forecast for 48 hours
Daily forecast for 7 days
National weather alerts
Historical weather data for 40+ years back

Los datos que utilizaremos en este open lab serán actuales, es decir, del momento en que hagamos la consulta y las :
Tipo de clima
Temperatura
Sensación térmica
Temperatura mínima
Temperatura máxima
Presión
Humedad
Visibilidad
Viento
Velocidad
Dirección
Hora de salida del Sol (en formato Unix Epoch)
Hora de puesta del Sol (en formato Unix Epoch)

Configuración de cuenta

Crear usuario

Acceder a la API Key

User > My API Keys
Screen Shot 2022-10-13 at 12.13.35.png
El código que figura en el campo Key es lo que tendremos que tener a mano cada vez que realicemos una consulta a la base de datos por medio de la API.

A buscar datos!

Para comenzar a entender los datos haremos una simple llamada a la base de datos por medio de la API.

Ejemplo clima actual: Buenos Aires

Copiar y pegar en el navegador la siguiente url
https://api.openweathermap.org/data/2.5/weather?q=Buenos%20Aires,ar&appid=2c5d39580bce43c97cd49465e0988434

Respuesta

Si todo salió bien veremos una respuesta parecida a esta:
{
"coord": {
"lon": -58.3772,
"lat": -34.6132
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
"base": "stations",
"main": {
"temp": 289.54,
"feels_like": 287.94,
"temp_min": 288.66,
"temp_max": 291.47,
"pressure": 1022,
"humidity": 27
},
"visibility": 10000,
"wind": {
"speed": 4.63,
"deg": 160
},
"clouds": {
"all": 0
},
"dt": 1665674969,
"sys": {
"type": 1,
"id": 8224,
"country": "AR",
"sunrise": 1665652425,
"sunset": 1665698724
},
"timezone": -10800,
"id": 3435910,
"name": "Buenos Aires",
"cod": 200
}
Todo luce bien pero... con esas temperaturas se va a derretir la ciudad!
Lo que sucedes es que los datos nos llegan en escala Fahrenheit y no en Cº (Celsius) que es lo que solemos usar en Argentina.
Para recibir los datos en Celsius tenemos que especificar la unidad de medida al final de la llamada. Así se ve:
Respuesta en Celsius
{
"coord": {
"lon": -58.3772,
"lat": -34.6132
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
"base": "stations",
"main": {
"temp": 16.36,
"feels_like": 14.78,
"temp_min": 15.51,
"temp_max": 18.32,
"pressure": 1022,
"humidity": 28
},
"visibility": 10000,
"wind": {
"speed": 4.63,
"deg": 160
},
"clouds": {
"all": 0
},
"dt": 1665675401,
"sys": {
"type": 1,
"id": 8224,
"country": "AR",
"sunrise": 1665652425,
"sunset": 1665698724
},
"timezone": -10800,
"id": 3435910,
"name": "Buenos Aires",
"cod": 200
}
Ahora sí tenemos todo correcto en nuestra llamada.
Podemos usar el mismo modelo de la llamada para ver el clima de otras ciudades.

Ejemplo clima actual: Londres

https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=2c5d39580bce43c97cd49465e0988434&units=metric

Ejemplo clima actual: Madrid

https://api.openweathermap.org/data/2.5/weather?q=Madrid,es&appid=2c5d39580bce43c97cd49465e0988434&units=metric

Ejemplo clima actual: México DF

https://api.openweathermap.org/data/2.5/weather?q=Mexico,mx&appid=2c5d39580bce43c97cd49465e0988434&units=metric

Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.