Puedes elegir entre METRIC
o IMPERIAL
para todos los extremos de la API de Weather.
Para solicitar un sistema de unidades, establece units_system
en METRIC
o IMPERIAL
. Si no se especifica ningún units_system
, se usará METRIC
de forma predeterminada.
https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE&units_system=IMPERIAL
Los valores de la API de Weather cambiaron de unidades MÉTRICAS a IMPERIALES
En la siguiente tabla, se enumeran los valores de respuesta de la API de Weather que se pueden convertir entre sistemas de unidades.
Conversión de unidades (métricas a imperiales) | Valores de la API de Weather |
---|---|
De Celsius (°C) a Fahrenheit (°F) | Temperatura, sensación térmica, punto de condensación, índice de calor, sensación de frío por el viento, temperatura de la bombilla húmeda |
De milímetros (mm) a pulgadas (in) | Precipitaciones, QPF, espesor de hielo |
Kilómetros por hora (km/h) a millas por hora (mph) | Velocidad del viento y ráfagas |
Kilómetros (km) a millas (mi) | Visibilidad |
Ejemplo de respuesta de currentConditions
En la siguiente tabla, se enumeran los valores incluidos en el cuerpo de respuesta de una solicitud currentConditions
. Los valores en azul y negrita cambiaron de unidades de METRIC
a IMPERIAL
:
Función de la API de Weather | MÉTRICA (predeterminada) | IMPERIAL |
---|---|---|
Hora actual | 2025-03-06T11:08:49.126979608Z | 6/3/2025, 6:08:49 a.m. |
Zona horaria | America/New_York | America/New_York |
Es de día | FALSO | FALSO |
Descripción del clima | Mayormente nublado | Mayormente nublado |
Temperatura | 11.5 °C | 11.5 °C |
Sensación térmica | 9.9 °C | 9.8 °C |
Punto de condensación | 8.7 °C | 8.7 °C |
Índice de calor | 11.5 °C | 11.5 °C |
Viento helado | 9.9 °C | 9.8 °C |
Humedad relativa | 83 % | 83 % |
Índice UV | 0 | 0 |
Probabilidad de precipitaciones | 9 % | 9 % |
Precipitaciones | 0 mm | 0 in |
Probabilidad de tormenta eléctrica | 0 | 0 |
Presión de aire | 991.47 MB | 991.47 MB |
Dirección del viento | 275 ° | 275 ° |
Dirección del viento (cardinal) | OESTE | OESTE |
Velocidad del viento | 14 km/h | 14.5 km/h |
Ráfaga de viento | 27 km/h | 27 km/h |
Visibilidad | 10 km | 9.6 km |
Cloud Cover | 65 % | 65 % |
Cambio de temperatura | 1.4 °C | 1.4 °C |
Temperatura máxima | 13.2 °C | 13.2 °C |
Temperatura mínima | 10.1 °C | 10 °C |
QPF | 27.5564 mm | 2.755 cm (1.0849") |
Sistemas de unidades en el mundo
Sistemas de unidades por país
La mayoría de los países fuera de Estados Unidos usan el sistema METRIC
, mientras que Estados Unidos usa el sistema IMPERIAL
. Algunos países, como el Reino Unido y Canadá, usan un híbrido de ambos sistemas. Para ver un mapa y una lista completa de los países que usan el sistema métrico, consulta Metricación.
Cómo convertir unidades de la respuesta de la API de Weather
Cómo convertir unidades manualmente
Puedes convertir unidades de forma manual con la siguiente secuencia de comandos:
function convert(conversionType, value) { if (value === null || value === undefined || typeof value !== 'number') { return "Invalid input"; // Handle null, undefined, or non-numeric input } switch (conversionType) { case 'C_to_F': // Celsius to Fahrenheit let convertedCtoF = (value * 9 / 5) + 32; return convertedCtoF.toFixed(2) + " °F"; case 'mm_to_in': // Millimeters to Inches let convertedMmToIn = value * 0.0393701; return convertedMmToIn.toFixed(2) + " in"; case 'km_to_mi': // Kilometers to Miles let convertedKmToMi = value * 0.621371; return convertedKmToMi.toFixed(2) + " mi"; case 'km/h_to_mph': // Kilometers per hour to Miles per hour let convertedKmHToMph = value * 0.621371; return convertedKmHToMph.toFixed(2) + " mph"; case 'millibar_to_psi': // Millibar to PSI let convertedMillibarToPsi = value * 0.0145038; return convertedMillibarToPsi.toFixed(2) + " psi"; default: return "Invalid conversion type"; } } console.log(convert('C_to_F', 10)); // Output: 50.00 °F console.log(convert('mm_to_in', 25)); // Output: 0.98 in console.log(convert('invalid_type', 5)); // Output: Invalid conversion type
Cómo convertir unidades con una biblioteca
También puedes usar una biblioteca como convert-units para convertir unidades:
// module
import convert from 'convert-units';
// or script inclusion
// <script src="https://unpkg.com/convert@5.8.0/dist/index.js" ></script>
// let convert = convert.convert
function convertWithLibrary(conversionType, value) {
if (value === null || value === undefined || typeof value !== 'number') {
return "Invalid input";
}
try {
switch (conversionType) {
case 'C_to_F':
let convertedCtoF = convert(value, 'C').to('F');
return convertedCtoF.toFixed(2) + " °F";
case 'mm_to_in':
let convertedMmToIn = convert(value, 'mm').to('in');
return convertedMmToIn.toFixed(2) + " in";
case 'km_to_mi':
let convertedKmToMi = convert(value, 'km').to('mi');
return convertedKmToMi.toFixed(2) + " mi";
case 'km/h_to_mph':
// km/h is not directly supported, so we convert km to mi
// then assume it's per hour
let convertedKmToMiValue = convert(value, 'km').to('mi');
return convertedKmToMiValue.toFixed(2) + " mph";
case 'millibar_to_psi':
// millibar is not directly supported, so convert millibar to bar, then bar to psi
let barValue = value / 1000;
let convertedMillibarToPsi = convert(barValue, 'bar').to('psi');
return convertedMillibarToPsi.toFixed(2) + " psi";
default:
return "Invalid conversion type";
}
} catch (error) {
console.error("Conversion error:", error);
return "Conversion failed";
}
}
console.log(convertWithLibrary('C_to_F', 10)); // Output: 50.00 °F
console.log(convertWithLibrary('mm_to_in', 25)); // Output: 0.98 in
console.log(convertWithLibrary('invalid_type', 5)); // Output: Invalid conversion type