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