ระบบหน่วยของ Weather API

คุณสามารถเลือกได้จาก METRIC หรือ IMPERIAL สำหรับจุดสิ้นสุด 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

ค่า API ของสภาพอากาศเปลี่ยนจากหน่วยเมตริกเป็นหน่วยอิมพีเรียล

ตารางต่อไปนี้แสดงรายการค่าการตอบสนองของ Weather API ที่สามารถแปลงระหว่างระบบหน่วยได้

การแปลงหน่วย (เมตริกเป็นอิมพีเรียล) ค่า API สภาพอากาศ
เซลเซียส (°C) ถึงฟาเรนไฮต์ (°F) อุณหภูมิ ความรู้สึก จุดน้ำค้าง ดัชนีความร้อน ลมหนาว หลอดเปียก
มิลลิเมตร (มม.) ถึง นิ้ว (นิ้ว) ปริมาณน้ำฝน, QPF, ความหนาของน้ำแข็ง
กิโลเมตรต่อชั่วโมง (กม./ชม.) ถึง ไมล์ต่อชั่วโมง (ไมล์ต่อชั่วโมง) ความเร็วลม ลมกระโชก
กิโลเมตร (กม.) เป็นไมล์ (ไมล์) ระดับการแชร์

ตัวอย่างการตอบกลับ currentConditions

ตารางต่อไปนี้แสดงรายการค่าที่รวมอยู่ในเนื้อหาการตอบสนองของคำขอ currentConditions ค่าที่เป็นสีน้ำเงินเข้มเปลี่ยนจากหน่วย METRIC เป็น IMPERIAL ดังนี้

คุณลักษณะ Weather API เมตริก (ค่าเริ่มต้น) อิมพีเรียล
เวลาปัจจุบัน 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