介绍
# SwissWeather
从 MeteoSwiss 获取当前的天气测量数据和预报,MeteoSwiss 是瑞士联邦气象与气候学官方办公室。
## 为什么使用此工具
- **官方瑞士数据**:直接来自 MeteoSwiss 政府服务 - **真实测量数据**:覆盖瑞士的 100 多个自动气象站 - **无需 API 密钥**:免费公共数据 - **针对瑞士优化**:对于瑞士的覆盖范围和准确性优于通用服务 - **全面数据**:气温、湿度、风、降水、气压、日照、辐射
## 快速开始
### 按站点获取当前天气
从特定的瑞士气象站获取实时测量数据:
**选项 1:Shell 脚本(无依赖项)** ```bash scripts/current_weather_curl.sh --station RAG ```
**选项 2:Python 脚本(需要:pip3 install requests)** ```bash scripts/current_weather.py --station RAG ```
示例输出: ``` Station: RAG Time: 2026-01-15 11:40 UTC Temperature (°C)........................ 8.6 Rel. humidity (%)...................... 56.3 Wind speed (km/h)...................... 6.8 Precipitation (mm)..................... 0.0 ```
热门站点: - **RAG** - 拉珀斯维尔(苏黎世地区) - **BER** - 伯尔尼 - **ZRH** - 苏黎世机场 - **BAS** - 巴塞尔 - **GVE** - 日内瓦 - **LUG** - 卢加诺
### 列出所有站点
```bash scripts/current_weather_curl.sh --list # or scripts/current_weather.py --list ```
返回 100 多个瑞士气象站及其代码和最后更新时间。
### 按邮政编码获取预报
获取多日天气预报:
```bash scripts/forecast.py 8640 # Rapperswil-Jona scripts/forecast.py 8001 --days 7 # Zurich, 7-day forecast ```
**注意**:预报 API 偶尔可能不稳定。如果失败,请回退到当前天气测量数据。
## 可用数据
### 当前天气测量数据
从自动站点每 10 分钟更新一次:
- **气温** (°C) - 2 米高度的空气温度 - **湿度** (%) - 相对湿度 - **风** - 风速、风向(°)、阵风峰值 - **降水** - 最近的降雨量 - **气压** - 站点气压、海平面气压 - **日照** - 日照持续时间 - **辐射** (W/m²) - 全球太阳辐射 - **露点** (°C)
### 天气预报
按瑞士邮政编码获取的多日预报:
- 日气温(最低/最高) - 带有图标的天气状况 - 降水量和概率 - 每小时预报(如可用)
## 站点选择
选择离您最近的站点:
- **主要城市**:BER(伯尔尼)、ZRH(苏黎世)、BAS(巴塞尔)、GVE(日内瓦)、LUG(卢加诺) - **苏黎世地区**:KLO(克洛滕)、RAG(拉珀斯维尔)、TAE(泰尼孔) - **中部**:LUZ(卢塞恩)、ALT(阿尔特多夫)、ENG(英格堡) - **山区**:SMA(圣提斯)、JUN(少女峰)、PIL(皮拉图斯)
**提示**:由于海拔差异,请避免将山区站点用于山谷地区。
有关完整的站点列表和详细信息,请参阅 `references/api_info.md`。
## JSON 输出
所有脚本都支持 `--json` 标志以便于编程使用:
```bash scripts/current_weather.py --station RAG --json scripts/forecast.py 8640 --json ```
## 高级用法
### 多个站点
显示所有当前测量数据:
```bash scripts/current_weather.py --all ```
### 查找最近的站点
1. 列出所有站点:`scripts/current_weather.py --list` 2. 按名称/位置识别最近的一个 3. 使用该站点代码
### 缓存
数据每 10 分钟更新一次。请适当缓存响应:
```bash # Cache current weather for 5-10 minutes # Cache forecasts for 1-2 hours ```
## API 参考
参阅 `references/api_info.md` 了解:
- 完整的 API 文档 - 所有可用的数据字段 - 天气图标代码 - 警告级别和类型 - 替代数据源 - 技术细节
## 依赖项
```bash pip3 install requests ```
## 数据源
- **提供商**:MeteoSwiss(联邦气象与气候学办公室) - **权威机构**:瑞士政府官方天气服务 - **更新频率**:每 10 分钟(当前天气) - **覆盖范围**:瑞士境内 100 多个自动站点 - **网址**:https://data.geo.admin.ch / https://www.meteoschweiz.admin.ch
## 故障排除
**预报 API 失败**:MeteoSwiss 应用 API 偶尔会发生变化。如果 `forecast.py` 失败,请改用当前天气测量数据,或查看 `references/api_info.md` 了解替代方法。
**未找到站点**:使用 `--list` 查看可用站点。站点代码为 3 个字母的缩写(不区分大小写)。
**数据缺失**:某些站点不测量所有参数。请在输出中查找 `-` 或 `N/A`。
## 相关内容
- **swiss-transport**:瑞士公共交通时刻表和线路 - **weather**:通用天气服务 - 如需瑞士天气请使用 swissweather