میتوانید از بین 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