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, el valor predeterminado será METRIC.

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 del clima 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 térmica del viento, Temperatura de la bombilla húmeda
Milímetros (mm) a pulgadas (in) Precipitaciones, QPF y grosor de hielo
Kilómetros por hora (km/h) a millas por hora (mph) Velocidad y ráfaga del viento
Kilómetros (km) a millas (mi) Visibilidad

Ejemplo de la respuesta de currentConditions

En la siguiente tabla, se enumeran los valores incluidos en el cuerpo de la respuesta de una solicitud currentConditions. Los valores en negrita azul cambiaron de unidades METRIC a IMPERIAL:

Función de la API de Weather MÉTRICAS (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 49.7 °F
Punto de condensación 8.7 °C 47.6 °F
Índice de calor 11.5 °C 11.5 °C
Viento helado 9.9 °C 49.7 °F
Humedad relativa 83 % 83 %
Índice UV 0 0
Probabilidad de precipitaciones 9 % 9 %
Precipitaciones 0 mm 0 en
Probabilidad de tormentas eléctricas 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 9 mph
Ráfaga de viento 27 km/h 17 mph
Visibilidad 10 km 9.6 km
Cloud Cover 65 % 65 %
Cambio de temperatura 1.4 °C 2.6 °F
Temperatura máxima 13.2 °C 13.2 °C
Temperatura mínima 10.1 °C 50.1 °F
QPF 27.5564 mm 2.75 cm (1.0849")

Sistemas de unidades del 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 Métricas.

Sistema de unidades mundial

Convierte unidades de la respuesta de la API de Weather

Cómo convertir unidades de forma manual

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

Convierte 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