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) 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
Kilomètres (km) en miles (mi) Visibilité

Exemple de réponse currentConditions

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

Fonctionnalité API Météo MÉTRIQUE (par défaut) IMPÉRIAL
Heure actuelle 2025-03-06T11:08:49.126979608Z 3/6/2025, 6:08:49 AM
Fuseau horaire America/New_York America/New_York
Is Daytime FALSE FALSE
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 in
Probabilité d'orage 0 0
Pression atmosphérique 991,47 Mo 991,47 Mo
Direction du vent 275 ° 275 °
Direction du vent (cardinale) OUEST OUEST
Vitesse du vent 14 km/h 14,5 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 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 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 les 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