سیستم های واحد API آب و هوا

شما می‌توانید برای همه نقاط پایانی API آب و هوا، از بین METRIC ) یا IMPERIAL را انتخاب کنید.

برای درخواست سیستم واحد، 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 آب و هوا از واحدهای متریک به امپریال تغییر یافت

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

تبدیل واحد (متریک به امپریال) مقادیر API آب و هوا
سلسیوس (درجه سانتیگراد) تا فارنهایت (درجه فارنهایت) دما، احساس، نقطه شبنم، شاخص گرما، باد سرد، لامپ مرطوب
میلی‌متر (mm) به اینچ (in) بارش، QPF، ضخامت یخ
کیلومتر/ساعت (km/h) به مایل/ساعت (mph) سرعت باد، تندباد
کیلومتر (km) به مایل (mi) قابلیت مشاهده

مثال برای پاسخ currentConditions

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

ویژگی API آب و هوا متریک (پیش‌فرض) امپریال
زمان فعلی 2025-03-06T11:08:49.126979608Z ‎۳/۶/۲۰۲۵، ساعت ۶:۰۸:۴۹ صبح
منطقه زمانی آمریکا/نیویورک آمریکا/نیویورک
آیا روز است؟ نادرست نادرست
توضیحات آب و هوا غالباً ابری غالباً ابری
دما ۱۱.۵ درجه سانتی‌گراد ۵۲.۷ درجه فارنهایت
احساسی شبیه ۹.۹ درجه سانتی‌گراد ۴۹.۷ درجه فارنهایت
نقطه شبنم ۸.۷ درجه سانتی‌گراد ۴۷.۶ درجه فارنهایت
شاخص گرما ۱۱.۵ درجه سانتی‌گراد ۵۲.۷ درجه فارنهایت
باد سرد ۹.۹ درجه سانتی‌گراد ۴۹.۷ درجه فارنهایت
رطوبت نسبی ۸۳٪ ۸۳٪
شاخص فرابنفش 0 0
احتمال بارش ۹٪ ۹٪
بارش 0 میلی‌متر ۰ اینچ
احتمال رعد و برق 0 0
فشار هوا ۹۹۱.۴۷ مگابایت ۹۹۱.۴۷ مگابایت
جهت باد ۲۷۵ درجه ۲۷۵ درجه
جهت باد (کاردینال) غرب غرب
سرعت باد ۱۴ کیلومتر در ساعت ۹ مایل در ساعت
تندباد ۲۷ کیلومتر در ساعت ۱۷ مایل در ساعت
قابلیت مشاهده ۱۰ کیلومتر ۶ مایل
پوشش ابر ۶۵٪ ۶۵٪
تغییر دما ۱.۴ درجه سانتی‌گراد ۲.۶ درجه فارنهایت
حداکثر دما ۱۳.۲ درجه سانتی‌گراد ۵۵.۸ درجه فارنهایت
حداقل دما ۱۰.۱ درجه سانتی‌گراد ۵۰.۱ درجه فارنهایت
کیو پی اف ۲۷.۵۵۶۴ میلی‌متر ۱.۰۸۴۹ اینچ

سیستم‌های واحد در جهان

سیستم‌های واحد بر اساس کشور

بیشتر کشورهای خارج از ایالات متحده از سیستم METRIC استفاده می‌کنند، در حالی که ایالات متحده از سیستم IMPERIAL استفاده می‌کند. برخی کشورها، مانند بریتانیا و کانادا، از ترکیبی از هر دو سیستم استفاده می‌کنند. برای نقشه و لیست کامل کشورهایی که از سیستم متریک استفاده می‌کنند، به بخش متریکاسیون مراجعه کنید.

سیستم واحدهای جهانی

تبدیل واحدها از پاسخ 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