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