سیستم های واحد 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

مقادیر API آب و هوا از METRIC به واحدهای IMPERIAL تغییر کرد

جدول زیر مقادیر پاسخ Weather API را که می توانند بین سیستم های واحد تبدیل شوند فهرست می کند.

تبدیل واحد (متریک به امپریال) مقادیر API آب و هوا
سلسیوس (درجه سانتیگراد) تا فارنهایت (درجه فارنهایت) دما، احساس، نقطه شبنم، شاخص گرما، سرمای باد، لامپ مرطوب
میلی متر (میلی متر) به اینچ (اینچ) بارش، QPF، ضخامت یخ
کیلومتر در ساعت (کیلومتر در ساعت) تا مایل در ساعت (مایل در ساعت) سرعت باد، وزش باد
کیلومتر (کیلومتر) به مایل (مایل) دید

مثالی برای پاسخ فعلی Conditions

جدول زیر مقادیر موجود در بدنه پاسخ درخواست currentConditions را فهرست می کند. مقادیر آبی پررنگ از METRIC به واحدهای IMPERIAL تغییر کرده است:

ویژگی Weather API METRIC (پیش‌فرض) امپریال
زمان فعلی 2025-03-06T11:08:49.126979608Z 3/6/2025، 6:08:49 ق.ظ
منطقه زمانی آمریکا/نیویورک آمریکا/نیویورک
روز است نادرست نادرست
شرح آب و هوا اکثرا ابری اکثرا ابری
دما 11.5 درجه سانتی گراد 52.7 درجه فارنهایت
احساس می کند 9.9 درجه سانتی گراد 49.7 درجه فارنهایت
نقطه شبنم 8.7 درجه سانتی گراد 47.6 درجه فارنهایت
شاخص گرما 11.5 درجه سانتی گراد 52.7 درجه فارنهایت
باد سرد 9.9 درجه سانتی گراد 49.7 درجه فارنهایت
رطوبت نسبی 83 درصد 83 درصد
شاخص UV 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-unit برای تبدیل واحدها استفاده کنید:


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