taiwan-aqilisted
Install: claude install-skill tahodev/baodao-skill
# taiwan-aqi
> 實測日:2026-09-20(最近一次端對端實測;數值基準日各自標於內文)
查環境部環境資料開放平臺的「空氣品質指標(AQI)」資料集(`AQX_P_432`)。資料由空氣品質監測網提供,每小時更新,含測站、縣市、AQI、主要污染物、狀態、PM2.5、PM10、氣體濃度、發布時間與座標。
**需要 API 金鑰(免費):** 到 https://data.moenv.gov.tw/api-term 註冊後取得 API 金鑰,放在環境變數 `MOENV_API_KEY` 或安全的憑證儲存中。金鑰不要寫進 repo、命令輸出或回覆。資料集說明:[環境部 AQX_P_432](https://data.moenv.gov.tw/dataset/detail/AQX_P_432)。
## 基本流程
1. 確認 `MOENV_API_KEY` 已設定
2. 呼叫 `AQX_P_432`,先取回全台測站
3. 用 `jq` 依縣市或測站篩選
4. 回報 AQI、`status`、主要污染物、PM2.5、PM10 與 `publishtime`
5. 先檢查資料時間與缺值,不用舊值或空值推測現況
### 1. 下載目前資料
```bash
curl -fsS --max-time 30 \
--get 'https://data.moenv.gov.tw/api/v2/aqx_p_432' \
--data-urlencode 'format=json' \
--data-urlencode 'offset=0' \
--data-urlencode 'limit=1000' \
--data-urlencode "api_key=$MOENV_API_KEY" \
-o /tmp/taiwan-aqi.json
```
回傳最外層是 JSON 陣列。每筆常用欄位:
- `sitename`、`county`、`siteid`
- `aqi`、`status`、`pollutant`
- `pm2.5`、`pm2.5_avg`、`pm10`、`pm10_avg`
- `o3`、`o3_8hr`、`co`、`co_8hr`、`so2`、`so2_avg`、`no2`
- `wind_speed`、`wind_direc`
- `publishtime`、`longitude`、`latitude`
### 2. 依縣市查詢
縣市名稱以資料內的 `county` 為準(如 `臺北市`、`新北市`)。把「台」正規化成「臺」再比對:
```bash
COUNTY='台北市'
COUNTY=${COUNTY//台/臺}
jq --arg county "$COUNTY" '
map(select((.county | gsub("台"; "臺")) == $county))
| sort_by((.aqi | tonumber? // -1)) | reverse
| map({sitename, aqi, status, pollutant, "pm2.5": .["pm2.5"], pm10, publishtime})
' /tmp/taiwan-aqi.json
```
同一縣市有多個測站。不要只取第一筆:可列全部,或回報 AQI 最高的測站並註明這是縣市內測站比較,不是整個縣市單一 AQI。
### 3. 依測站查詢
```bash
SITE='板橋'
jq --a