يمكنك الاختيار من بين 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 |
|---|---|
| من درجة مئوية (°م) إلى درجة فهرنهايت (°ف) | درجة الحرارة، درجة الحرارة المحسوسة، نقطة الندى، مؤشر الحرارة، برودة الرياح، درجة الحرارة الرطبة |
| من مليمتر (ملم) إلى بوصة (بوصة) | هطول الأمطار، وتوقّعات كمية الأمطار، وسمك الجليد |
| كيلومتر في الساعة (كم/ساعة) إلى ميل في الساعة (ميل/ساعة) | سرعة الرياح، هبوب الرياح |
| من كيلومتر (كم) إلى ميل | مستوى الرؤية |
مثال على ردّ currentConditions
يعرض الجدول التالي القيم المضمّنة في نص الاستجابة لطلب currentConditions. تم تغيير القيم باللون الأزرق الداكن من METRIC إلى IMPERIAL وحدة:
| ميزة Weather API | المقياس (تلقائي) | IMPERIAL |
|---|---|---|
| الوقت الحالي | 2025-03-06T11:08:49.126979608Z | 6 مارس 2025، الساعة 6:08:49 صباحًا |
| المنطقة الزمنية | America/New_York | America/New_York |
| في النهار | خطأ | خطأ |
| وصف حالة الطقس | غائم في أغلب الأوقات | غائم في أغلب الأوقات |
| درجة الحرارة | 11.5 درجة مئوية | 11.5 درجة مئوية |
| الحرارة المحسوسة | 9.9 درجة مئوية | 49.7 درجة فهرنهايت |
| نقطة الندى | 8.7 درجة مئوية | 47.6 °F |
| مؤشر الحرارة | 11.5 درجة مئوية | 52.7 °F |
| رياح باردة | 9.9 درجة مئوية | 49.7 درجة فهرنهايت |
| الرطوبة النسبية | 83 % | 83 % |
| مؤشر الأشعة فوق البنفسجية | 0 | 0 |
| احتمال هطول الأمطار | 9 % | 9 % |
| الأمطار | 0 ملم | 0 في |
| احتمال حدوث عواصف رعدية | 0 | 0 |
| ضغط جوي | 991.47 ميغابايت | 991.47 ميغابايت |
| اتجاه الرياح | 275 درجة | 275 ° |
| اتجاه الرياح (أساسي) | توقيت غرب أوروبا الصيفي | توقيت غرب أوروبا الصيفي |
| سرعة الرياح | 14 كلم/ساعة | 14 كم/س |
| هبوب الرياح | 27 كلم/س | 17 ميل/ساعة |
| مستوى الرؤية | 10 كم | 10 كم |
| تغطية السحب | 65 % | 65 % |
| تغيير درجة الحرارة | 1.4 درجة مئوية | 2.6 درجة فهرنهايت |
| الحدّ الأقصى لدرجة الحرارة | 13.2 درجة مئوية | 13.2 درجة مئوية |
| الحدّ الأدنى لدرجة الحرارة | 10.1 درجة مئوية | 50.1 درجة فهرنهايت |
| 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