ภาพรวม
API นี้ให้บริการข้อมูล ETo รายวันล่วงหน้า 10 วัน
หน่วยเป็นมิลลิเมตรต่อวัน โดยผู้ใช้ต้องระบุ
variable=eto พร้อมส่งพิกัด
lat และ lon
ไปยัง API
เนื่องจากข้อมูลเป็นจุดกริด พิกัดที่ผู้ใช้ส่งมา อาจไม่ตรงกับจุดข้อมูลโดยตรง ระบบจึงคำนวณระยะทาง และเลือกจุดกริดที่ใกล้ที่สุดให้โดยอัตโนมัติ
ข้อมูล ETo
พยากรณ์ 10 วัน
ไม่ต้องใช้ API Key
ผลลัพธ์ JSON
Base URL
ตรวจสอบและแก้ URL ด้านล่างให้ตรงกับตำแหน่งจริงบนเซิร์ฟเวอร์
ตรวจสอบและแก้ URL ด้านล่างให้ตรงกับตำแหน่งจริงบนเซิร์ฟเวอร์
http://arcims.tmd.go.th/api/agromet.php
การเรียกข้อมูล
ขอข้อมูล ETo 10 วันจากพิกัด
GET
http://arcims.tmd.go.th/api/agromet.php?variable=eto&lat=13.7563&lon=100.5018
ขอข้อมูลเฉพาะวันที่
GET
http://arcims.tmd.go.th/api/agromet.php?variable=eto&lat=13.7563&lon=100.5018&date=2026-07-16
ค่า
lat ต้องอยู่ระหว่าง -90 ถึง 90
และค่า lon ต้องอยู่ระหว่าง -180 ถึง 180
พารามิเตอร์
| พารามิเตอร์ | จำเป็น | คำอธิบาย | ตัวอย่าง |
|---|---|---|---|
variable |
จำเป็น |
ชนิดข้อมูลที่ต้องการ ปัจจุบันรองรับเฉพาะ
eto
|
eto |
lat |
จำเป็น | ละติจูดของตำแหน่งที่ต้องการข้อมูล | 13.7563 |
lon |
จำเป็น | ลองจิจูดของตำแหน่งที่ต้องการข้อมูล | 100.5018 |
date |
ไม่จำเป็น |
วันที่ที่ต้องการในรูปแบบ
YYYY-MM-DD
|
2026-07-16 |
รูปแบบผลลัพธ์
ผลลัพธ์จะแสดงทั้งพิกัดที่ผู้ใช้ร้องขอ จุดกริดที่ระบบเลือก ระยะห่างจากพิกัดจริง และข้อมูล ETo ตามวันที่
{
"status": "success",
"dataset": "ETo",
"requested_location": {
"lat": 13.7563,
"lon": 100.5018
},
"nearest_grid_point": {
"id": "p1308",
"lat": 13.75,
"lon": 100.5,
"distance_km": 0.73
},
"forecast_period": {
"start_date": "2026-07-15",
"end_date": "2026-07-24",
"days": 10
},
"data": [
{
"date": "2026-07-15",
"eto": 3.8,
"unit": "mm/day"
}
]
}
ตัวอย่าง JavaScript
const variable = "eto";
const latitude = 13.7563;
const longitude = 100.5018;
const apiUrl =
"http://arcims.tmd.go.th/api/agromet.php"
+ "?variable=" + encodeURIComponent(variable)
+ "&lat=" + encodeURIComponent(latitude)
+ "&lon=" + encodeURIComponent(longitude);
async function loadETo() {
try {
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error("HTTP " + response.status);
}
const result = await response.json();
if (result.status !== "success") {
throw new Error(result.message);
}
console.log(
"จุดกริดที่ใช้:",
result.nearest_grid_point
);
result.data.forEach(function (item) {
console.log(
item.date,
item.eto,
item.unit
);
});
} catch (error) {
console.error(
"ไม่สามารถเรียกข้อมูล ETo ได้:",
error.message
);
}
}
loadETo();
ตัวอย่าง Python
pip install requests
import requests
api_url = (
"http://arcims.tmd.go.th/"
"api/agromet.php"
)
params = {
"variable": "eto",
"lat": 13.7563,
"lon": 100.5018,
}
response = requests.get(
api_url,
params=params,
timeout=30,
)
response.raise_for_status()
result = response.json()
print(
"Nearest grid:",
result["nearest_grid_point"],
)
for item in result["data"]:
print(
item["date"],
item["eto"],
item["unit"],
)
การตอบกลับเมื่อเกิดข้อผิดพลาด
{
"status": "error",
"message": "The variable parameter is required. Currently supported: eto.",
"example": "agromet.php?variable=eto&lat=13.7563&lon=100.5018"
}
| HTTP Status | ความหมาย |
|---|---|
200 |
เรียกข้อมูลสำเร็จ |
400 |
พิกัดหรือรูปแบบพารามิเตอร์ไม่ถูกต้อง |
404 |
ไม่พบไฟล์หรือวันที่ที่ร้องขอ |
500 |
ข้อมูลหรือระบบภายในเซิร์ฟเวอร์มีปัญหา |