Sistemas de unidades de la API de Weather

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.

Sistema de unidades del mundo

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