אפשר לבחור מבין METRIC או IMPERIAL לכל נקודות הקצה של Weather API.
כדי לבקש מערכת יחידות, מגדירים את units_system לערך METRIC או IMPERIAL. אם לא צוין ערך ל-units_system, הערך שמוגדר כברירת מחדל הוא METRIC.
https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE&units_system=IMPERIAL
הערכים של Weather API השתנו מיחידות מידה מטריות ליחידות מידה בריטיות
בטבלה הבאה מפורטים ערכי התגובה של Weather API שאפשר להמיר בין מערכות יחידות.
| המרת יחידות (ממטריות לאימפריאליות) | ערכים של Weather API |
|---|---|
| צלזיוס (°C) לפרנהייט (°F) | טמפרטורה, טמפרטורה תחושה, נקודת טל, מדד חום, קור רוח, טמפרטורת התרמומטר הרטוב |
| מילימטרים (מ"מ) לאינצ'ים (in) | משקעים, QPF, עובי הקרח |
| קילומטרים לשעה (קמ"ש) למיילים לשעה (mph) | מהירות הרוח, משבי רוח |
| המרה של קילומטרים (ק"מ) למיילים (מייל) | חשיפה |
דוגמה לתגובה של currentConditions
בטבלה הבאה מפורטים הערכים שכלולים בגוף התשובה של בקשת currentConditions. ערכים בכתב כחול מודגש השתנו מיחידות METRIC ליחידות IMPERIAL:
| תכונה של Weather API | METRIC (ברירת מחדל) | IMPERIAL |
|---|---|---|
| הזמן הנוכחי | 2025-03-06T11:08:49.126979608Z | 6/3/2025, 6:08:49 |
| אזור זמן | America/New_York | America/New_York |
| שעות היום | FALSE | FALSE |
| תיאור מזג האוויר | רוב הזמן מעונן | רוב הזמן מעונן |
| טמפרטורה | 11.5 °C | 11.4 °C |
| מרגיש כמו | 9.9 °C | 49.7 °F |
| נקודת הטל | 8.7 °C | 47.6 °F |
| מדד חום | 11.5 °C | 11.4 °C |
| צינת רוח | 9.9 °C | 49.7 °F |
| לחות יחסית | 83 % | 83 % |
| מדד קרינת UV | 0 | 0 |
| הסיכוי למשקעים | 9 % | 9 % |
| משקעים | 0 מ"מ | 0 ב |
| סבירות לסופת רעמים | 0 | 0 |
| לחץ אוויר | 991.47MB | 991.47MB |
| כיוון הרוח | 275 ° | 275 ° |
| כיוון הרוח (קארדינאל) | מערב | מערב |
| מהירות הרוח | 14 קמ"ש | 35 קמ"ש |
| משב רוח | 27 קמ"ש | 27 קמ"ש |
| חשיפה | 10 ק"מ | 9.6 ק"מ |
| כיסוי עננים | 65 % | 65 % |
| שינוי טמפרטורה | 1.4 °C | 2.6 °F |
| הטמפרטורה המקסימלית | 13.2 °C | 55.8 °F |
| הטמפרטורה המינימלית | 10.1 °C | 10.0°C |
| QPF | 27.5564 מ״מ | 1.0849 אינץ' |
מערכות יחידות בעולם
מערכות יחידות לפי מדינה
ברוב המדינות מחוץ לארה"ב משתמשים במערכת METRIC, ואילו בארה"ב משתמשים במערכת IMPERIAL. במדינות מסוימות, כמו בריטניה וקנדה, משתמשים בשילוב של שתי המערכות. במאמר שימוש במערכת המטרית מופיעה מפה ורשימה מלאה של המדינות שמשתמשות במערכת המטרית.

המרת יחידות מהתגובה של Weather API
המרת יחידות באופן ידני
אפשר להמיר יחידות באופן ידני באמצעות הסקריפט הבא:
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
המרת יחידות באמצעות ספרייה
אפשר גם להשתמש בספרייה כמו convert-units כדי להמיר יחידות:
// 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