34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
|
|
---
|
|||
|
|
name: geocoding
|
|||
|
|
description: 通过 wttr.in 查询城市坐标的知识和验证规则
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Geocoding(地理编码)参考
|
|||
|
|
|
|||
|
|
## wttr.in 坐标查询
|
|||
|
|
|
|||
|
|
获取城市经纬度:
|
|||
|
|
```
|
|||
|
|
https://wttr.in/{城市名}?format=j1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 城市名支持中文(如 `北京`、`成都`)和英文(如 `Beijing`、`Chengdu`)
|
|||
|
|
- 返回 JSON 格式的完整天气数据,坐标在 `nearest_area[0]` 中
|
|||
|
|
- 坐标字段:`latitude`、`longitude`
|
|||
|
|
- 额外信息:`areaName`、`country`、`population`
|
|||
|
|
|
|||
|
|
## 验证规则
|
|||
|
|
|
|||
|
|
获取到坐标后必须验证以下信息,避免张冠李戴:
|
|||
|
|
|
|||
|
|
1. **确认国家/地区正确** — 检查 `country[0].value`,如"成都"的 country 应为 "China"
|
|||
|
|
2. **同名城市判断** — 如果 `nearest_area` 有多条,按 population 大小取最可能的目标
|
|||
|
|
3. **中文输入优先用中文查** — wttr.in 原生支持中文名解析,比先转英文更准确
|
|||
|
|
4. **结果存疑时用 skill("msn-weather-api") 多看细节**
|
|||
|
|
|
|||
|
|
## 已知边界情况
|
|||
|
|
|
|||
|
|
- 小城市名可能匹配到其他国家的同名地点(如"长春"→ 印度尼西亚也有长春),需要核对 country
|
|||
|
|
- 一些城市名可能有多个行政区同名(如"济南"确保是中国山东济南)
|
|||
|
|
- wttr.in 是一个天气网站,它的地理编码数据偏向人口多的城市
|