Você pode escolher entre METRIC
ou IMPERIAL
para todos os endpoints da API Weather.
Para solicitar um sistema de unidades, defina units_system
como METRIC
ou IMPERIAL
. Nenhum units_system
especificado será definido como METRIC
.
https://weather.googleapis.com/v1/currentConditions:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE&units_system=IMPERIAL
Os valores da API Weather mudaram de unidades MÉTRICAS para IMPERIAIS
A tabela a seguir lista os valores de resposta da API Weather que podem ser convertidos entre sistemas de unidades.
Conversão de unidades (métrico para imperial) | Valores da API Weather |
---|---|
Celsius (°C) para Fahrenheit (°F) | Temperatura, sensação térmica, ponto de condensação, índice de calor, sensação de frio, temperatura de bulbo úmido |
Milímetros (mm) para polegadas (in) | Precipitação, QPF, espessura do gelo |
Quilômetros/hora (km/h) para milhas/hora (mph) | Velocidade do vento, rajada de vento |
Quilômetros (km) para milhas (mi) | Visibilidade |
Exemplo de resposta de currentConditions
A tabela a seguir lista os valores incluídos no corpo da resposta de uma solicitação currentConditions
. Os valores em azul em negrito mudaram de METRIC
para IMPERIAL
unidades:
Recurso da API Weather | MÉTRICA (padrão) | IMPERIAL |
---|---|---|
Hora atual | 2025-03-06T11:08:49.126979608Z | 06/03/2025, 06:08:49 |
Fuso horário | America/New_York | America/New_York |
Is Daytime | FALSO | FALSO |
Descrição do clima | Predominantemente nublado | Predominantemente nublado |
Temperatura | 11,5 °C | 11,5 °C |
Sensação térmica | 9,9 °C | 9,8 °C |
Ponto de condensação | 8,7 °C | 8,7 °C |
Índice de calor | 11,5 °C | 11,5 °C |
Resfriamento | 9,9 °C | 9,8 °C |
Umidade relativa | 83 % | 83 % |
Índice UV | 0 | 0 |
Probabilidade de precipitação | 9 % | 9 % |
Precipitação | 0 mm | 0 in |
Probabilidade de tempestade | 0 | 0 |
Pressão do ar | 991,47 MB | 991,47 MB |
Direção do vento | 275 ° | 275 ° |
Direção do vento (cardinal) | OESTE | OESTE |
Velocidade do vento | 14 km/h | 14 km/h |
Rajada de vento | 27 km/h | 27 km/h |
Visibilidade | 10 km | 9,6 km |
Cloud Cover | 65 % | 65 % |
Mudança de temperatura | 1,4 °C | 2,6 °F |
Temperatura máxima | 13,2 °C | 13,2 °C |
Temperatura mínima | 10,1 °C | 10,1 °C |
QPF | 27,5564 mm | 1,0849 pol. |
Sistemas de unidades no mundo
Sistemas de unidades por país
A maioria dos países fora dos Estados Unidos usa o sistema METRIC
, enquanto os Estados Unidos usam o sistema IMPERIAL
. Alguns países, como o Reino Unido e o Canadá, usam um híbrido dos dois sistemas. Para conferir um mapa e uma lista completa dos países que usam o sistema métrico, consulte Métrica.
Converter unidades da resposta da API Weather
Converter unidades manualmente
É possível converter unidades manualmente usando o seguinte script:
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
Converter unidades usando uma biblioteca
Você também pode usar uma biblioteca como convert-units para converter unidades:
// 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