Difference between revisions of "彩云天气常见问题"
Liuzhonghua (talk | contribs) (Tag: Visual edit) |
Ringsaturn (talk | contribs) (→如何正确重试接口) (Tag: Visual edit) |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == 彩云天气 App 相关 == | |
− | + | ||
− | + | === 彩云天气 App 采用了那种地图坐标? === | |
− | + | ||
− | + | 彩云天气 App 使用 GCJ-02 坐标系统 | |
− | + | ||
− | + | == 彩云天气 API 相关 == | |
− | + | ||
− | + | * 雷达降水强度(intensity)和雨量站降水强度(precipitation)的区别 | |
− | + | * 如何使用分钟级降水强度,计算24小时累计降水量(mm) | |
− | + | * 短临预报和短期预报自然语言描述(description)是什么 | |
− | + | * 主要天气现象(skycon)有哪些,优先级如何 | |
− | # | + | * [[雾和灰霾的区别]] |
− | # | + | * [[生活指数(life_index)有哪些]] |
− | # | + | * 美标和国标的AQI有何不同 |
− | + | * 实时降水强度和分钟级的第0帧降水强度是相同的吗? | |
− | + | ||
− | + | === 彩云天气 API 调用次数是如何计算的? === | |
+ | |||
+ | 用户发出一次 URL 请求并得到返回数据为一次调用 | ||
+ | |||
+ | === 彩云天气 API 是否支持返回历史数据 === | ||
+ | |||
+ | API接口仅支持返回过去一天的历史数据,接口默认返回当前时刻到未来的数据。需要调用过去一天的数据,可以在 URL 后加参数 <code>begin=时间戳</code> 即可。 | ||
+ | |||
+ | === 如何正确重试接口 === | ||
+ | # 发起 API 调用 | ||
+ | # 如果失败,则等待时间随超时次数指数增长 | ||
+ | <syntaxhighlight lang="python3" line="1"> | ||
+ | #!/usr/bin/env python3 | ||
+ | |||
+ | import time | ||
+ | |||
+ | import requests | ||
+ | |||
+ | |||
+ | URL = "http://api.caiyunapp.com" | ||
+ | MAX_RETRY = 3 | ||
+ | data = {} | ||
+ | |||
+ | retry_times = 0 | ||
+ | while retry_times <= MAX_RETRY: | ||
+ | try: | ||
+ | data = requests.get(URL).json() | ||
+ | break | ||
+ | except Exception: | ||
+ | print("failed") | ||
+ | retry_times += 1 | ||
+ | time.sleep(retry_times*retry_times) | ||
+ | continue | ||
+ | |||
+ | print(data) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 任何外部/内部的接口都可能因为各种原因发生请求失败,代码里应做好对应的容错/兜底机制。 | ||
+ | |||
+ | 按照 99.9% 可用率,一般每1万次调用中,有100次左右的超时属于正常范围。 | ||
+ | |||
+ | 额外的超时可能会导致总调用量有小幅度的增长,对计费会有比较轻微的影响。 | ||
+ | |||
+ | == 算法相关 == | ||
+ | |||
+ | * 如何做气象数据质控的? | ||
+ | * [[局部天气项目|如何做短临降水预报的?]] | ||
+ | * 如何做雾霾短期预报的? | ||
+ | * 如何使用数值天气预报数据的 |
Latest revision as of 15:10, 18 September 2021
Contents
彩云天气 App 相关
彩云天气 App 采用了那种地图坐标?
彩云天气 App 使用 GCJ-02 坐标系统
彩云天气 API 相关
- 雷达降水强度(intensity)和雨量站降水强度(precipitation)的区别
- 如何使用分钟级降水强度,计算24小时累计降水量(mm)
- 短临预报和短期预报自然语言描述(description)是什么
- 主要天气现象(skycon)有哪些,优先级如何
- 雾和灰霾的区别
- 生活指数(life_index)有哪些
- 美标和国标的AQI有何不同
- 实时降水强度和分钟级的第0帧降水强度是相同的吗?
彩云天气 API 调用次数是如何计算的?
用户发出一次 URL 请求并得到返回数据为一次调用
彩云天气 API 是否支持返回历史数据
API接口仅支持返回过去一天的历史数据,接口默认返回当前时刻到未来的数据。需要调用过去一天的数据,可以在 URL 后加参数 begin=时间戳
即可。
如何正确重试接口
- 发起 API 调用
- 如果失败,则等待时间随超时次数指数增长
1 #!/usr/bin/env python3
2
3 import time
4
5 import requests
6
7
8 URL = "http://api.caiyunapp.com"
9 MAX_RETRY = 3
10 data = {}
11
12 retry_times = 0
13 while retry_times <= MAX_RETRY:
14 try:
15 data = requests.get(URL).json()
16 break
17 except Exception:
18 print("failed")
19 retry_times += 1
20 time.sleep(retry_times*retry_times)
21 continue
22
23 print(data)
任何外部/内部的接口都可能因为各种原因发生请求失败,代码里应做好对应的容错/兜底机制。
按照 99.9% 可用率,一般每1万次调用中,有100次左右的超时属于正常范围。
额外的超时可能会导致总调用量有小幅度的增长,对计费会有比较轻微的影响。
算法相关
- 如何做气象数据质控的?
- 如何做短临降水预报的?
- 如何做雾霾短期预报的?
- 如何使用数值天气预报数据的