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 aucune valeur units_system n'est spécifiée, 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étrique vers impérial) Valeurs de l'API Weather
Celsius (°C) vers Fahrenheit (°F) Température, température ressentie, point de rosée, indice de chaleur, température ressentie au vent, température humide
Millimètres (mm) en pouces (in) Précipitations, QPF, épaisseur de la glace
Kilomètres/heure (km/h) vers Miles/heure (mph) Vitesse du vent, rafales de vent
Kilomètres (km) vers miles (mi) Visibilité

Exemple de réponse currentConditions

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

Fonctionnalité API Weather MÉTRIQUE (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
Est en journée FAUX FAUX
Description de la météo Assez nuageux Assez nuageux
Température 11,5 °C 11,5 °C
Ressenti 9,9 °C 9,8 °C
Point de rosée 8,7 °C 8,7 °C
Indice de chaleur 11,5 °C 11,5 °C
Refroidissement éolien 9,9 °C 9,8 °C
Humidité relative 83 % 83 %
Indice UV 0 0
Probabilité de précipitations 9 % 9 %
Précipitations 0 mm 0 pouce
Probabilité d'orage 0 0
Pression de l'air 991,47 Mo 991,47 Mo
Direction du vent 275 ° 275 °
Direction du vent (cardinale) OUEST OUEST
Vitesse du vent 14 km/h 14 km/h
Rafales 27 km/h 27 km/h
Visibilité 10 km 6 mi
CloudCover 65 % 65 %
Changement de température 1,4 °C 1,4 °C
Température maximale 13,2 °C 13,2 °C
Température minimale 10,1 °C 10,1 °C
QPF 27,5564 mm 1,0849 pouce

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 Canada et le Royaume-Uni, utilisent un système hybride. Pour obtenir une carte et la liste complète des pays qui utilisent le système métrique, consultez Metrication.

Système d'unités du monde

Convertir les unités 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