W przypadku wszystkich punktów końcowych interfejsu Weather API możesz wybrać METRIC
lub IMPERIAL
.
Aby poprosić o system jednostek, ustaw units_system
na METRIC
lub IMPERIAL
. Jeśli nie podasz wartości units_system
, zostanie użyta wartość domyślna METRIC
.
https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE&units_system=IMPERIAL
Wartości interfejsu Weather API zostały zmienione z jednostek METRYCZNYCH na IMPERIALNE
W tabeli poniżej znajdziesz wartości odpowiedzi interfejsu Weather API, które można przekształcać między systemami jednostek.
Przeliczanie jednostek (z metrycznych na imperialne) | Wartości interfejsu Weather API |
---|---|
Stopnie Celsjusza (°C) na stopnie Fahrenheita (°F) | Temperatura, temperatura odczuwalna, punkt rosy, indeks ciepła, temperatura odczuwalna, temperatura mokrego termometru |
Milimetry (mm) na cale (in) | Opady, prognoza ilościowa opadów, grubość lodu |
Kilometry na godzinę (km/h) na mile na godzinę (mph) | Prędkość wiatru, porywy wiatru |
Kilometry (km) na mile (mi) | Widoczność |
Przykład odpowiedzi currentConditions
W tej tabeli znajdziesz wartości zawarte w treści odpowiedzi na żądanie currentConditions
. Wartości zaznaczone na niebiesko i pogrubione zmieniono z METRIC
na IMPERIAL
:
Funkcja interfejsu Weather API | METRYCZNY (domyślnie) | IMPERIAL |
---|---|---|
Aktualna godzina | 2025-03-06T11:08:49.126979608Z | 6.3.2025, 6:08:49 |
Strefa czasowa | Ameryka/Nowy_Jork | Ameryka/Nowy_Jork |
Jest w ciągu dnia | FAŁSZ | FAŁSZ |
Opis pogody | Duże zachmurzenie | Duże zachmurzenie |
Temperatura | 11,5°C | 11,5°C |
Odczuwalna | 9,9°C | 9,8°C |
Punkt rosy | 8,7°C | 8,7°C |
Indeks ciepła | 11,5°C | 11,5°C |
Temperatura odczuwalna | 9,9°C | 9,8°C |
Wilgotność względna | 83 % | 83 % |
Indeks UV | 0 | 0 |
Prawdopodobieństwo opadów | 9 % | 9 % |
Opady | 0 mm | 0 |
Prawdopodobieństwo burzy z piorunami | 0 | 0 |
Ciśnienie powietrza | 991,47 MB | 991,47 MB |
Kierunek wiatru | 275 ° | 275 ° |
Kierunek wiatru (główne kierunki) | ZACHÓD | ZACHÓD |
Prędkość wiatru | 14 km/h | 14 km/h |
Poryw wiatru | 27 km/h | 27 km/h |
Widoczność | 10 km | 10 km |
Cloud Cover | 65 % | 65 % |
Zmiana temperatury | 1,4°C | 2,6°C |
Maksymalna temperatura | 13,2°C | 13,2°C |
Minimalna temperatura | 10,1°C | 10,1°C |
QPF | 27,5564 mm | 1,0849 |
Systemy jednostek na świecie
Systemy jednostek według kraju
Większość krajów poza Stanami Zjednoczonymi używa systemu METRIC
, a Stany Zjednoczone – systemu IMPERIAL
. W niektórych krajach, np. w Wielkiej Brytanii i Kanadzie, stosuje się hybrydę obu systemów. Mapę i pełną listę krajów, w których obowiązuje system metryczny, znajdziesz w artykule Metrication (w języku angielskim).
Przeliczanie jednostek z odpowiedzi interfejsu Weather API
Ręczne przeliczanie jednostek
Jednostki możesz przeliczać ręcznie za pomocą tego skryptu:
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
Przeliczanie jednostek za pomocą biblioteki
Możesz też użyć biblioteki takiej jak convert-units, aby przeliczać jednostki:
// 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