Systèmes d'unités de l'API Weather

Vous pouvez choisir entre METRIC et IMPERIAL pour tous les points de terminaison de l'API Weather.

Pour demander un système d'unités, définissez units_system sur METRIC ou IMPERIAL. Si aucun units_system n'est spécifié, la valeur par défaut est METRIC.

https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE&units_system=IMPERIAL

Les valeurs de l'API Weather sont passées des unités métriques aux unités impériales

Le tableau suivant répertorie les valeurs de réponse de l'API Weather qui peuvent être converties entre les systèmes d'unités.

Conversion d'unités (métriques en impériales) Valeurs de l'API Weather
Celsius (°C) en Fahrenheit (°F) Température, Ressenti, Rosée, Indice de chaleur, Refroidissement éolien, Température humide
Millimètres (mm) en pouces (in) Précipitations, QPF, Épaisseur de la glace
Kilomètres/heure (km/h) en miles/heure (mph) Vitesse du vent, Rafales
Kilomètres (km) en miles (mi) Visibilité

Exemple de réponse currentConditions

Le tableau suivant répertorie les valeurs incluses dans le corps de réponse d'une requête currentConditions. Les valeurs en bleu gras sont passées des unités METRIC aux unités IMPERIAL :

Fonctionnalité de l'API Weather METRIC (par défaut) IMPERIAL
Heure actuelle 2025-03-06T11:08:49.126979608Z 06/03/2025, 06:08:49
Fuseau horaire America/New_York America/New_York
Journée FALSE FALSE
Description de la météo Assez nuageux Assez nuageux
Température 11,5 °C 52,7 °F
Ressenti 9,9 °C 49,7 °F
Rosée 8,7 °C 47,6 °F
Indice de chaleur 11,5 °C 52,7 °F
Refroidissement éolien 9,9 °C 49,7 °F
Humidité relative 83 % 83 %
Indice UV 0 0
Probabilité de précipitations 9 % 9 %
Précipitations 0 mm 0 in
Probabilité d'orage 0 0
Pression atmosphérique 991,47 mb 991,47 mb
Direction du vent 275 ° 275 °
Direction du vent (cardinale) OUEST OUEST
Vitesse du vent 14 km/h 9 mph
Rafales 27 km/h 17 mph
Visibilité 10 km 6 mi
Cloud Cover 65 % 65 %
Changement de température 1,4 °C 2,6 °F
Température maximale 13,2 °C 55,8 °F
Température minimale 10,1 °C 50,1 °F
QPF 27,5564 mm 1,0849 in

Systèmes d'unités dans le monde

Systèmes d'unités par pays

La plupart des pays en dehors des États-Unis utilisent le système METRIC, tandis que les États-Unis utilisent le système IMPERIAL. Certains pays, comme le Royaume-Uni et le Canada, utilisent un système hybride. Pour obtenir une carte et une liste complète des pays qui utilisent le système métrique, consultez la page Métrication.

Système d'unités du monde

Convertir des unités à partir de la réponse de l'API Weather

Convertir des unités manuellement

Vous pouvez convertir des unités manuellement à l'aide du script suivant :

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

Convertir des unités à l'aide d'une bibliothèque

Vous pouvez également utiliser une bibliothèque telle que convert-units pour convertir des unités :


// 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