سیستم‌های واحد 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 از واحدهای «متریک» به «امپریال» تغییر کرد

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

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

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

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

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

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

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

اکثر کشورهای خارج از ایالات متحده از سیستم 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