모든 날씨 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 값이 미터법에서 영국식 단위로 변경됨
다음 표에는 단위 시스템 간에 변환할 수 있는 날씨 API 응답 값이 나와 있습니다.
단위 변환 (미터법에서 영국식) | 날씨 API 값 |
---|---|
섭씨 (°C)에서 화씨 (°F)로 | 온도, 체감 온도, 이슬점, 열 지수, 풍랭, 습구 |
밀리미터 (mm)를 인치 (in)로 | 강수량, QPF, 얼음 두께 |
킬로미터/시간 (km/h)에서 마일/시간 (mph) | 풍속, 돌풍 |
킬로미터 (km)를 마일 (mi)로 | 공개 상태 |
currentConditions 응답 예시
다음 표에는 currentConditions
요청의 응답 본문에 포함된 값이 나와 있습니다. 파란색 굵은 글씨로 표시된 값은 METRIC
에서 IMPERIAL
단위로 변경되었습니다.
날씨 API 기능 | METRIC (기본값) | IMPERIAL |
---|---|---|
현재 시간 | 2025-03-06T11:08:49.126979608Z | 2025년 3월 6일, 오전 6시 8분 49초 |
시간대 | America/New_York | America/New_York |
주간 여부 | FALSE | FALSE |
날씨 설명 | 대체로 흐림 | 대체로 흐림 |
온도 | 11.5 °C | 11.5 °C |
체감 온도 | 9.9 °C | 9.8°C |
이슬점 | 8.7 °C | 47.6 °F |
열 지수 | 11.5 °C | 11.5 °C |
체감 온도 | 9.9 °C | 9.8°C |
상대 습도 | 83 % | 83 % |
자외선 지수 | 0 | 0 |
강수 확률 | 9 % | 9 % |
강수량 | 0 mm | 0인치 |
뇌우 확률 | 0 | 0 |
기압 | 991.47MB | 991.47MB |
풍향 | 275 ° | 275 ° |
풍향 (기본) | 서부 | 서부 |
풍속 | 14 km/h | 9 mph |
돌풍 | 27 km/h | 17 mph |
공개 상태 | 10 km | 6마일 |
Cloud Cover | 65 % | 65 % |
온도 변화 | 1.4 °C | 2.6 °F |
최고 온도 | 13.2 °C | 13.2°C |
최저 기온 | 10.1 °C | 10.1°C |
QPF | 27.5564 mm | 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-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