คุณเลือก 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
ค่า Weather API เปลี่ยนจากหน่วย METRIC เป็น IMPERIAL
ตารางต่อไปนี้แสดงค่าการตอบกลับของ Weather API ที่สามารถ แปลงระหว่างระบบหน่วยต่างๆ ได้
การแปลงหน่วย (เมตริกเป็นอิมพีเรียล) | ค่า Weather API |
---|---|
เซลเซียส (°C) เป็นฟาเรนไฮต์ (°F) | อุณหภูมิ, รู้สึกเหมือน, จุดน้ำค้าง, ดัชนีความร้อน, ลมหนาว, กระเปาะเปียก |
มิลลิเมตร (มม.) เป็นนิ้ว (นิ้ว) | การเกิดฝน, QPF, ความหนาของน้ำแข็ง |
กิโลเมตร/ชั่วโมง (กม./ชม.) เป็นไมล์/ชั่วโมง (ไมล์/ชม.) | ความเร็วลม ลมกระโชกแรง |
กิโลเมตร (กม.) เป็นไมล์ (ไมล์) | ระดับการแชร์ |
ตัวอย่างการตอบกลับ currentConditions
ตารางต่อไปนี้แสดงค่าที่รวมอยู่ในเนื้อหาการตอบกลับของคำขอ currentConditions
ค่าที่เป็นสีน้ำเงินเข้มเปลี่ยนจากหน่วย METRIC
เป็น
IMPERIAL
ดังนี้
ฟีเจอร์ Weather API | เมตริก (ค่าเริ่มต้น) | IMPERIAL |
---|---|---|
เวลาปัจจุบัน | 2025-03-06T11:08:49.126979608Z | 3/6/2025, 6:08:49 AM |
เขตเวลา | America/New_York | America/New_York |
เป็นเวลากลางวัน | เท็จ | เท็จ |
คำอธิบายสภาพอากาศ | มีเมฆเป็นส่วนมาก | มีเมฆเป็นส่วนมาก |
อุณหภูมิ | 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 mb | 991.47 mb |
ทิศทางลม | 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
บางประเทศ เช่น สหราชอาณาจักรและแคนาดา ใช้ระบบผสมของทั้ง 2 ระบบ ดูแผนที่และรายการประเทศทั้งหมดที่ใช้ระบบเมตริกได้ที่
การใช้ระบบเมตริก
แปลงหน่วยจากคำตอบของ 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