Для всех конечных точек Weather 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 были изменены с метрических на имперские единицы.
В таблице ниже перечислены значения ответов Weather API, которые можно преобразовывать между системами единиц измерения.
| Перевод единиц измерения (из метрической в имперскую) | Значения API погоды |
|---|---|
| Цельсия (°C) → Фаренгейта (°F) | Температура, ощущаемая температура, точка росы, индекс жары, ветровое охлаждение, температура влажного термометра |
| Миллиметры (мм) в дюймы (дюймы) | Осадки, QPF, толщина льда |
| Километры/час (км/ч) в мили/час (мили/ч) | Скорость ветра, порывы ветра |
| Километры (км) в мили (ми) | Видимость |
Пример ответа для currentConditions
В следующей таблице приведены значения, содержащиеся в теле ответа запроса currentConditions . Значения, выделенные синим жирным шрифтом, изменились с METRIC единиц на IMPERIAL :
| Функция API погоды | МЕТРИЧЕСКИЙ (по умолчанию) | ИМПЕРСКИЙ |
|---|---|---|
| Текущее время | 2025-03-06T11:08:49.126979608Z | 06.03.2025, 06:08:49 |
| Часовой пояс | Америка/Нью-Йорк | Америка/Нью-Йорк |
| Дневное время | ЛОЖЬ | ЛОЖЬ |
| Описание погоды | Преимущественно облачно | Преимущественно облачно |
| Температура | 11,5 °C | 52,7 °F |
| Ощущение, будто | 9,9 °C | 49,7 °F |
| Точка росы | 8,7 °C | 47,6 °F |
| Индекс жары | 11,5 °C | 52,7 °F |
| Ветер с холодом | 9,9 °C | 49,7 °F |
| Относительная влажность | 83 % | 83 % |
| УФ-индекс | 0 | 0 |
| Вероятность осадков | 9 % | 9 % |
| Осадки | 0 мм | 0 в |
| Вероятность грозы | 0 | 0 |
| Давление воздуха | 991,47 мб | 991,47 мб |
| Направление ветра | 275 ° | 275 ° |
| Направление ветра (кардинальное) | ЗАПАД | ЗАПАД |
| Скорость ветра | 14 км/ч | 9 миль в час |
| Порыв ветра | 27 км/ч | 17 миль в час |
| Видимость | 10 км | 6 миль |
| Облачность | 65 % | 65 % |
| Изменение температуры | 1,4 °C | 2,6 °F |
| Максимальная температура | 13,2 °C | 55,8 °F |
| Минимальная температура | 10,1 °C | 50,1 °F |
| QPF | 27,5564 мм | 1,0849 дюйма |
Системы единиц измерения в мире
Системы единиц измерения по странам
Большинство стран за пределами США используют 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