אפשר לבחור בין 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) | משקעים, כמות משקעים צפויה, עובי הקרח |
קילומטרים לשעה (קמ"ש) למיילים לשעה (מיילים לשעה) | מהירות הרוח, משבי רוח |
קילומטרים (ק"מ) למיילים (מייל) | חשיפה |
דוגמה לתגובה של currentConditions
בטבלה הבאה מפורטים הערכים שכלולים בגוף התשובה של בקשת currentConditions
. הערכים שמודגשים בכחול השתנו מ-METRIC
ל-IMPERIAL
יחידות:
התכונה Weather API | METRIC (ברירת מחדל) | IMPERIAL |
---|---|---|
הזמן הנוכחי | 2025-03-06T11:08:49.126979608Z | 3/6/2025, 6:08:49 AM |
אזור זמן | America/New_York | America/New_York |
האם השעה היא שעות היום | FALSE | FALSE |
תיאור מזג האוויר | מעונן בדרך כלל | מעונן בדרך כלל |
טמפרטורה | 11.5 °C | 52.7 °F |
מרגיש כמו | 9.9 °C | 49.7 °F |
נקודת הטל | 8.7 °C | 47.6 °F |
מדד החום | 11.5 °C | 52.7 °F |
צינת רוח | 9.9 °C | 49.7 °F |
לחות יחסית | 83 % | 83 % |
מדד קרינת UV | 0 | 0 |
הסיכוי למשקעים | 9 % | 9 % |
משקעים | 0 מ'מ | 0 in |
סבירות לסופת רעמים | 0 | 0 |
לחץ אוויר | 991.47MB | 991.47MB |
כיוון הרוח | 275° | 275° |
כיוון הרוח (קרדינלי) | מערב | מערב |
מהירות הרוח | 14 קמ"ש | 9 מייל לשעה |
משבי רוח | 27 קמ"ש | 27 קמ"ש |
חשיפה | 10 ק"מ | 10 ק"מ |
כיסוי ענן | 65 % | 65 % |
שינוי טמפרטורה | 1.4 °C | 2.6 °F |
הטמפרטורה המקסימלית | 13.2 °C | 55.8 °F |
הטמפרטורה המינימלית | 10.1 °C | 50.1 °F |
QPF | 27.5564 מ״מ | 1.0849 in |
מערכות יחידות בעולם
מערכות יחידות לפי מדינה
ברוב המדינות מחוץ לארצות הברית משתמשים בשיטת 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