一、前言
前幾天實際操作天氣 API 時,
已經可以透過不同的經緯度查詢不同地點的天氣,
昨天則進一步觀察了天氣 API 的 JSON 結構,
發現資料其實可以分成不同的區塊,
例如 current_units 和 current。
今天則要進一步分析這些資料到底代表什麼,
這次會使用前幾天實際查詢到的台中資料作為範例,
挑選幾個比較重要的欄位來觀察。
⸻
二、查詢位置的資訊
首先可以看到最前面的:
"latitude": 24.147627,
"longitude": 120.70138
這兩個欄位代表這次查詢的位置座標,
latitude 是緯度,longitude 是經度,
也就是說API 可以透過這兩個數值判斷我們要查詢哪個位置。
前面在 Day 21 實際操作時,
也是透過修改這兩個 Parameter 來查詢台北、台中和高雄,
這兩個欄位也可以和前面學到的 Parameter 連結起來。
⸻
三、timezone 和 elevation
接著可以看到:
"timezone": "GMT",
"timezone_abbreviation": "GMT",
"elevation": 94.0
timezone 和 timezone_abbreviation 是時區相關資訊,elevation 則是這個位置的海拔高度。
這些資料並不是我們這次最主要想比較的天氣數值,
但也可以讓我們看到 API 回傳的不只是溫度,
除了目前的天氣狀況之外,
也會提供和查詢位置相關的其他資訊。
⸻
四、current_units
昨天分析 JSON 結構時,可以看到:
"current_units": {
"time": "iso8601",
"interval": "seconds",
"temperature_2m": "°C",
"relative_humidity_2m": "%",
"wind_speed_10m": "km/h"
}
這一區主要是在告訴我們 current 裡面的資料使用什麼單位。
例如:
"temperature_2m": "°C"
代表溫度的單位是攝氏。
"relative_humidity_2m": "%"
代表相對濕度使用百分比。
"wind_speed_10m": "km/h"
代表風速使用公里/小時。
如果只看到 31.0 或 48 這種數字,
單看數字其實不知道它代表什麼,
搭配 current_units 後,
就可以知道這些數值的單位。
⸻
五、current和時間
接下來是這次天氣資料比較重要的部分:
"current": {
"time": "2026-09-20T05:30",
"interval": 900,
...
}
其中 time 是這筆目前天氣資料對應的時間。
這次查詢結果顯示:
2026-09-20T05:30
因此可以知道這筆資料不是一個固定不變的數值,
而是某個時間點取得的天氣資料。
另外還有:
"interval": 900
這裡的數值代表資料時間間隔,
單位可以從 current_units 中看到是秒。
900 秒換算後就是 15 分鐘。
⸻
六、temperature_2m、relative_humidity_2m 和 wind_speed_10m
接著來看這次最主要的三個天氣資料:
"temperature_2m": 33.5,
"relative_humidity_2m": 48,
"wind_speed_10m": 14.9
其中 temperature_2m 是溫度,
這次查詢到的結果是 33.5°C。
relative_humidity_2m 是相對濕度,這次是 48%。
而 wind_speed_10m 是風速,這次是 14.9 km/h。
可以看到API 回傳的 JSON 雖然有很多欄位,
但實際進行比較時可以只挑出自己需要的資料。
⸻
七、資料總結
將這次台中查詢結果中比較重要的欄位和意思整理起來
這樣整理之後,
可以更清楚看到一份 API Response 中有哪些資料。
如果直接看完整 JSON,可能會覺得資料很多,
但實際上可以依照自己的需求,只挑選需要的欄位。
⸻
八、總結
今天使用實際查詢到的台中天氣資料,
進一步分析了天氣 API 回傳的 JSON。
從查詢位置的 latitude、longitude,
到 current_units 中的資料單位,
再到 current 裡面的時間、溫度、濕度和風速,
可以看到一份 API Response 其實包含了很多不同類型的資訊。
天氣API 的主要內容也差不多完成了,
下一篇會把這幾天從查詢、比較到 JSON 分析的內容整理起來,作為這一週天氣API的總結。