أنظمة وحدات Weather API

يمكنك الاختيار بين 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 من وحدات METRIC إلى IMPERIAL

يسرد الجدول التالي قيم استجابة Weather API التي يمكن تحويلها بين أنظمة الوحدات.

تحويل الوحدات (من النظام المتري إلى النظام الإمبراطوري) قيم Weather API
من درجة مئوية (°م) إلى فهرنهايت (°ف) درجة الحرارة، درجة الحرارة المحسوسة، درجة حرارة التكثف، مؤشر الحرارة، برودة الرياح، درجة حرارة البصيلة الرطبة
من مليمتر (ملم) إلى بوصة (بوصة) هطول الأمطار، وتوقّعات كمية الأمطار، وسمك الجليد
كيلومتر في الساعة (كم/ساعة) إلى ميل في الساعة (ميل/ساعة) سرعة الرياح، هبوب الرياح
من كيلومتر (كم) إلى ميل مستوى الرؤية

مثال على استجابة currentConditions

يعرض الجدول التالي القيم المضمّنة في نص الردّ على طلب currentConditions. تغيّرت القيم باللون الأزرق الداكن من METRIC إلى IMPERIAL وحدة:

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