Difference between revisions of "彩云天气常见问题"

From Caiyun Wiki
Jump to: navigation, search
(如何正确重试接口)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
# 如何做气象数据质控的
+
== 彩云天气 App 相关 ==
# [[局部天气项目|如何做短临降水预报的]]
+
 
# 如何做雾霾短期预报的
+
=== 彩云天气 App 采用了那种地图坐标? ===
# 雷达降水强度(intensity)和雨量站降水强度(precipitation)的区别
+
 
# 如何使用分钟级降水强度,计算24小时累计降水量(mm)
+
彩云天气 App 使用 GCJ-02 坐标系统
# [[实时降水强度和分钟级的第0帧降水强度是相同的吗?]]
+
 
# 如何使用数值天气预报数据的
+
== 彩云天气 API 相关 ==
# 短临预报和短期预报自然语言描述(description)是什么
+
 
# 主要天气现象(skycon)有哪些,优先级如何
+
* 雷达降水强度(intensity)和雨量站降水强度(precipitation)的区别
# [[雾和灰霾的区别]]
+
* 如何使用分钟级降水强度,计算24小时累计降水量(mm)
# 生活指数(life_index)有哪些
+
* 短临预报和短期预报自然语言描述(description)是什么
# 美标和国标的AQI有何不同
+
* 主要天气现象(skycon)有哪些,优先级如何
# [[如何计算日出日落]]
+
* [[雾和灰霾的区别]]
# [[天气相关的时间计算]]
+
* [[生活指数(life_index)有哪些]]
# [[中国气象站点表]]
+
* 美标和国标的AQI有何不同
# [[中国县和城区级行政区划表]]
+
* 实时降水强度和分钟级的第0帧降水强度是相同的吗?
# [[中国乡镇街道级行政区划表1]]
+
 
# [[中国乡镇街道级行政区划表2]]
+
=== 彩云天气 API 调用次数是如何计算的? ===
# [[中国环保站点表]]
+
 
# [[WMO国际交换气象站点表]]
+
用户发出一次 URL 请求并得到返回数据为一次调用
# [https://open.caiyunapp.com/Template:%E9%A2%84%E8%AD%A6%E7%B1%BB%E5%9E%8B 预警类型]
+
 
# [[天气现象图标]]
+
=== 彩云天气 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

彩云天气 App 相关

彩云天气 App 采用了那种地图坐标?

彩云天气 App 使用 GCJ-02 坐标系统

彩云天气 API 相关

  • 雷达降水强度(intensity)和雨量站降水强度(precipitation)的区别
  • 如何使用分钟级降水强度,计算24小时累计降水量(mm)
  • 短临预报和短期预报自然语言描述(description)是什么
  • 主要天气现象(skycon)有哪些,优先级如何
  • 雾和灰霾的区别
  • 生活指数(life_index)有哪些
  • 美标和国标的AQI有何不同
  • 实时降水强度和分钟级的第0帧降水强度是相同的吗?

彩云天气 API 调用次数是如何计算的?

用户发出一次 URL 请求并得到返回数据为一次调用

彩云天气 API 是否支持返回历史数据

API接口仅支持返回过去一天的历史数据,接口默认返回当前时刻到未来的数据。需要调用过去一天的数据,可以在 URL 后加参数 begin=时间戳 即可。

如何正确重试接口

  1. 发起 API 调用
  2. 如果失败,则等待时间随超时次数指数增长
 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次左右的超时属于正常范围。

额外的超时可能会导致总调用量有小幅度的增长,对计费会有比较轻微的影响。

算法相关