20221212-贪吃蛇小游戏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
#include <stdbool.h>

#define H 23
#define W 75
#define WAIT_TIME 500

//定义direction的每个值代表的方向
#define UP 0
#define DOWN 1
#define LEFT 2
#define RIGHT 3

int a[H][W]; //地图数组
int s[H*W][2]; //蛇身坐标数组
int sLength; //蛇的长度
int direction; //蛇的方向
bool eated=false; //标记是否吃到食物
int score=0; //得分

void init() //程序开始时的初始化操作
{
srand((unsigned)time(NULL)); //设置随机数种子为现在的时间
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); //隐藏关标
int i,j;
for(i=0; i<H; i++)
{
a[i][0]=1; //让第一列为1
a[i][W-1]=1; //让最后一列为1
}
for(j=0; j<W; j++)
{
a[0][j]=1; //让第一行为1
a[H-1][j]=1; //让最后一行为1
}
sLength=4; //让蛇的最初长度为4
s[0][0]=H/2;
s[0][1]=W/2; //给蛇头坐标赋值
for(i=1; i<4; i++)
{
s[i][0]=s[0][0]+i;
s[i][1]=s[0][1]; //给刚开始的蛇身几个初始坐标
}
direction=UP;
}

void gotoxy(int i,int j) //移动光标
{
COORD position= {j,i};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),position);
}

int check(int ii,int jj) //判断这个点能不能放食物,可以放返回1,不能放返回0
{
if(a[ii][jj]==1) //如果有障碍物,返回0
return 0;
int i;
for(i=0; i<sLength; i++)
{
if(ii==s[i][0]&&jj==s[i][1]) //如果和其中一个蛇身重合,就返回0
return 0;
}
if(ii==0||ii==H-1||jj==0||jj==W-1) //如果在边界上面,返回0
return 0;
return 1; //最后筛选 过后的是符合条件的点
}

void food()
{
int i,j;
do
{
i=rand()%H; //生成0~H-1之间的一个数
j=rand()%W;
}
while(check(i,j)==0); //生成点直到满足条件
a[i][j]=-1; //标记为食物
gotoxy(i,j);
printf("$"); //画出食物
}

void drawMap() //画地图
{
gotoxy(0,0);
int i,j;
for(i=0; i<H; i++)
{
for(j=0; j<W; j++) //两重for循环遍历数组
{
if(a[i][j]==0) //为0输出空格
printf(" ");
else //为1输出#
printf("#");
}
printf("\n"); //别忘了换行
}
}

void move()
{
int i;
gotoxy(s[sLength-1][0],s[sLength-1][1]);
printf(" "); //在尾巴上面画空格以擦除尾巴
if(eated) //如果吃到了食物
{
sLength++;
eated=false; //设置为false,不然无限变长
}
for(i=sLength-1; i>0; i--) //从尾巴开始,每一个点的位置等于它前面一个点的位置
{
s[i][0]=s[i-1][0];
s[i][1]=s[i-1][1];
}
switch(direction)
{
case UP:
s[0][0]--;
break;
case DOWN:
s[0][0]++;
break;
case LEFT:
s[0][1]--;
break;
case RIGHT:
s[0][1]++;
break;
}

}

void drawSnake() //画蛇
{
int i;
for(i=0; i<sLength; i++)
{
gotoxy(s[i][0],s[i][1]); //移动关标到蛇的坐标
printf("@"); //在这个位置画蛇
}
}

void key()
{
if(kbhit()!=0) //如果有键盘输入
{
char in;
while(!kbhit()==0) //如果玩家输入了多个按键,以最后一个按键为准
in=getch();
switch(in)
{
case 'w':
case 'W':
if(direction!=DOWN) //不能缩头吧。。。。
direction=UP;
break;
case 's':
case 'S':
if(direction!=UP)
direction=DOWN;
break;
case 'a':
case 'A':
if(direction!=RIGHT)
direction=LEFT;
break;
case 'd':
case 'D':
if(direction!=LEFT)
direction=RIGHT;
break;
case 'p':
case 'P':
gotoxy(H,0); //将光标移动到下面
system("pause");
gotoxy(H,0);
printf(" "); //消去下面的按任意键继续
break;
}
}
}

bool gameOver()
{
bool isGameOver=false;
int sX=s[0][0],sY=s[0][1]; //蛇头的x坐标和y坐标
if(sX==0||sX==H-1||sY==0||sY==W-1)
isGameOver=true;
for(int i=1; i<sLength; i++) //判断有没有吃到自己
{
if(s[i][0]==sX&&s[i][1]==sY)
isGameOver=true;
}
return isGameOver;
}

void printScore()
{
gotoxy(0,W+2);
printf(" 贪吃蛇小游戏");
gotoxy(1,W+2);
printf(" TeX白兔 制作");
gotoxy(4,W+2);
printf(" 得分:%d",score);
}

int main()
{
init(); //程序开始时的初始化操作
drawMap(); //画地图
food();
while(1)
{
drawSnake(); //画蛇
printScore();
Sleep(WAIT_TIME); //等待一段时间
key();
move(); //移动蛇(主要是修改蛇身数组的数据)
if(gameOver())
{
system("cls"); //清除屏幕内容
printf("Game Over\n");
system("pause");
break;
}
if(a[s[0][0]][s[0][1]]==-1) //如果蛇头碰到食物,就重新投放食物,并且把食物点重置为0
{
eated=true; //标记已经吃到食物
score+=10;
food();
a[s[0][0]][s[0][1]]=0; //去掉食物
}

}
return 0;
}

20221203-《登泰山记》

《登泰山记》

姚鼐 〔清代〕

泰山之阳,汶水西流;其阴,济水东流。阳谷皆入汶,阴谷皆入济。当其南北分者,古长城也。最高日观峰,在长城南十五里。

余以乾隆三十九年十二月,自京师乘风雪,历齐河、长清,穿泰山西北谷,越长城之限,至于泰安。是月丁未,与知府朱孝纯子颍由南麓登。四十五里,道皆砌石为磴,其级七千有余。泰山正南面有三谷。中谷绕泰安城下,郦道元所谓环水也。余始循以入,道少半,越中岭,复循西谷,遂至其巅。古时登山,循东谷入,道有天门。东谷者,古谓之天门溪水,余所不至也。今所经中岭及山巅,崖限当道者,世皆谓之天门云。道中迷雾冰滑,磴几不可登。及既上,苍山负雪,明烛天南。望晚日照城郭,汶水、徂徕如画,而半山居雾若带然。

戊申晦,五鼓,与子颍坐日观亭,待日出。大风扬积雪击面。亭东自足下皆云漫。稍见云中白若樗蒱数十立者,山也。极天云一线异色,须臾成五采。日上,正赤如丹,下有红光动摇承之。或曰,此东海也。回视日观以西峰,或得日或否,绛皓驳色,而皆若偻。

亭西有岱祠,又有碧霞元君祠。皇帝行宫在碧霞元君祠东。是日观道中石刻,自唐显庆以来;其远古刻尽漫失。僻不当道者,皆不及往。

山多石,少土。石苍黑色,多平方,少圜。少杂树,多松,生石罅,皆平顶。冰雪,无瀑水,无鸟兽音迹。至日观数里内无树,而雪与人膝齐。

桐城姚鼐记。

20221130-eps32wifi协议

router
https://www.bilibili.com/video/BV1Dd4y1B7RT

https://zhuanlan.zhihu.com/p/21951093

802.11 协议精读19 wifi 的起源,诞生与发展

本来这一节打算开始讨论802.11e的内容,因为从无线局域网诞生到成型,尤其是演进的过程中,一个重要的起步点就是802.11e,很多在802.11n,802.11ac,802.11ah之中所引入的内容,实际上在802.11e中都可以发现其的引导,更一般而言,先行的802.11的MAC层协议基本都是按照802.11e中的EDCF,而不是传统的DCF。

然而,如果直接从802.11e开始谈及802.11协议的演进也有点冲突,因为从协议开始之初,或者说协议开始之前,实际上就一直处于演进的过程。所以本文就笔者个人所了解的部分,梳理下无线局域网协议WLAN的大致演进过程。

本文中的一些内容部分参考自下述引文:

《The Innovation Journey of Wi-Fi (The Road to Global Success)》
“THE HISTORY OF WI-FI”
《Ethernet:The Definitive Guide》

wifi 协议的起源

wifi 是一种WLAN 协议,即无线局域网协议,其历史或者说网络协议中的多地址接入协议的历史都可以追述到1971 年的ALOHAnet

Aloha协议的思想如下:“一个aloha节点只要有数据的话,该节点就可以立即发送。当该节点数据发送完之后,其需要等待接收方反馈的ACK。若成功接收到ACK之后,那么这一次传输成功。如果没有收到ACK的话,那么这一次传输失败。该aloha节点会认为网络中还存在另外一个aloha节点也在发送数据,所以造成接收方发生了冲突。最后这些冲突的节点会随机选择一个时间进行回退(backoff),以避免下一次冲突。若冲突节点回退完成,其才可以重新进行发送”。

CSMA/CD协议的思想如下:“节点发送数据之前需要持续监听信道,一旦节点发现信道空闲,则立刻发送数据,
。在发送数据的同时,节点持续监听信道,”探测” 是否有别的节点也在该时刻发送数据。
若传输过程中没有检测到别的节点的传输,那么成功传输。在成功传输后,节点需要等待帧间间隔IFG(interframe gap)时间后,可以进行下一次传输。
若在传输过程中,探测到别的节点也在传输,那么则检测到冲突。发生冲突后,节点立刻停止当前的传输,并且发送特定的干扰序列(JAM序列),用以加强该次冲突(用以保证其余所有节点都检测到该次冲突),在JAM序列发送完之后,节点随机选择一个时间倒数进行backoff。当backoff完成之后,节点可以尝试再次重传”。

IEEE 802 委员会所颁布的标准体系比较完善,其设置了多个不同的Group 用来指定不同场景下对应的协议

在网络发展中,无线通信不仅仅是无线局域网这一条发展脉络,其最主要的还是通信网络,不过由于本文仅仅是讨论无线局域网,对于通信网络的发展,笔者涉猎优先,所以不进行开展

民用网络的发展往往首先要通过政策许可这一关,在网络发展的起源地美国,其政策指的即是美国联邦通信委员会 (US Federal Communications Commission,FCC) 所派发的牌照(即无线电频段的使用许可)。考虑到避免干扰雷达所使用的无线电频段,于1985年,FCC颁发了为工业(industrial)、科学(scientific)和医疗(medical)行业颁发了ISM牌照,这一次的频段许可开放了900MHz,2.4GHz,和5.8GHz这三个频段,当时仅仅允许节点采用扩频技术(spread-spectrum)来进行通信。

在ISM 频段之前,无线通信,比如无线广播以及电视广播都是采用专用的频段,这可以避免一些有害无线电干扰,而ism 频段之所以选择这些频段,是对于主要业务不重要,同时也是容易受到无线电干扰的频段

MAC层初始设计时就存在两种声音,一种是由IBM所代表的中心式控制(Merits of Central),一种是由NCR代表(包含NCR/Symbol Technologies/Xircom)所代表的分布式控制(Distributed Control Architecture)。最终是由NCR所代表的分布式控制思路获得初步的胜利。从笔者的角度而言,这也是后来在Wi-Fi协议,始终存在分布式(DCF,EDCA)和中心式(PCF,HCCA)兼容设计的开始。
PHY的初始设计中包含两种可能的扩频方式,跳频(Frequency Hopping)和直序扩频(Direct Sequence)。 这也是由于FCC一开始发放的ISM牌照,其仅仅允许扩频通信的方案存在。在协议设计之初,团队就无法在两者中仅仅取决一种,所以在初始协议最终颁布时,两种物理层扩频方案都是被支持的。

当下的hotspot 更强调的是一共为公共区域提供网络服务的热点业务,而最初hotspot 就是我们当前无线局域网基础架构模式,即存在一个无线AP 然后通过其连接如公网的架构

hotspot 的概念也是wifi 协议能够成功的关键因素之一,其是wifi 在商业应用中最重要的组成部分之一,hotspot 的需求也大大推进了wifi 协议的发展,其中的漫游 安全 多AP 扩展的ESS 模式也都是由此发展而来的

实际上大家开始接触wifi 很多也是从802.11b 开始的,802.11b 是802.11 协议中的第一个里程碑,早期的带wifi 功能的笔记本,或者PSP游戏机,其所带的无线功能都是基于802.11b的

802.11a引入了一种新的物理层技术OFDM(Orthogonal Frequency Division Multiplexing)。OFDM技术是于20世纪60年代就提出的,但是当时其核心算法FFT复杂度较高,随着集成电路技术的发展,到90年代时OFDM技术开始通信工程具体采用。相比扩频技术,OFDM技术有更高的频谱利用率。如上图所示,OFDM是通过时频关系的映射,将多个数字信号搭载到多个频域子载波上(如上图所示),然后通过IFFT合成,将这些数字信号一次性发送出去。通过OFDM,能够获得更高的频谱利用率,提高传输速率。对于OFDM的细节,我们也会在以后进行展开,这里就不详细展开了。

802.11a当时没有受到很好的效果,主要还是频段的问题。因为当时FCC仅在5GHz频段上开放了OFDM技术,据《Next Generation Wireless LANs.802.11n and 802.11ac》一书所言,在1999~2000年间,美国非军事使用的5G频段仅仅只有几个指定的信道。而且由于802.11a和802.11b所在频段不同,所以新出的设备要同时兼容802.11b和802.11a就会造成成本增加,所以实际802.11a的实际应用很少。

当初实际上也是FCC 不允许在2.4GHz 频段上使用OFDM 技术,仅仅只允许扩频技术

2.4GHz 频段上也可以使用OFDM 技术

在2004年时,由于传统Wi-Fi的发展都在于其PHY层和MAC层的性能上,协议的安全性并没有得到很好的保证。故在04年时,专门针对Wi-Fi安全的协议标准802.11i正式颁布,实际上,这个时期也有一个中国尝试发起的协议WAPI,也是针对该问题而言的。

802.11n 的核心技术概念是MIMO 之前的无线通信我们都是单天线的传输系统,在mimo 的设计上,我们可以通过多根天线,并行传输多个不同数据,从而提高传输速率,提供更高的系统带宽

实际上在网络发展中,各个不同源头的技术实际上是时有交互的,然而,是否成功,还是要根据市场和时机的检验,
好比wifi 虽然获得了比较大的成功,而wimax 则没有被广泛采用

在2010年时候,在时任美国总统奥巴马的支持下,FCC同意在未来增加500MHz新频段用以无线通信,该500MHz是分散在多个不同的频段下,具体是根据具体的功能需求进行的设定。

20221129-大疆模拟器键盘表示

DJI Lightbridge 遥控器

拍照 小地图 (长按)

飞行模式

切换视角 切换控制(长按)

自定义菜单

自动返航
中断返航
飞行模式
轨迹开关(长按) 录像/停止 跳跃

云台角度

暂停 介绍面板(长按)

DJI Mavic Air 遥控器

自动返航(长按) 中断返航

暂停 介绍面板(长按)

飞行模式

自定义菜单

拍照 小地图(长按)

切换视角 切换控制(长按)

录像

轨迹开关(长按) 跳跃

云台角度

DJI Cendence S

录像/停止 轨迹开关(长按) 跳跃

拍照 小地图(长按)

切换视角 切换控制(长按)

自定义菜单

飞行模式

云台角度

暂停 介绍面板(长按)

DJI T16 遥控器

拍照 小地图(长按)

切换视角 切换控制(长按)

自定义菜单

录像/停止
轨迹开关(长按)
跳跃
喷洒农药

暂停 介绍面板(长按)

DJI 带屏遥控器

自动返航(长按) 中断返航

切换视角 切换控制(长按)

飞行模式

拍照 小地图(长按)

自定义菜单

录像/停止 轨迹开关(长按) 跳跃

云台角度

暂停 介绍面板(长按)

键盘

暂停 P
拍照 H
录像/停止 L
轨迹开关 space
自动返航/中断返航 O
跳跃 Space
自定义菜单 Enter

云台上转 R
云台下转 F
切换视角 C
飞行模式 V
切换控制 J
小地图 M
介绍面板 I

摇杆模式

日本手

左逆时针 前进 左转 后退 右转
右逆时针 上升 左飞 下降 右飞

美国手

左逆时针 上升 左转 下降 右转
右逆时针 前进 左飞 后退 右飞

中国手

左逆时针 前进 左飞 后退 右飞
右逆时针 上升 左转 下降 右转

20221129-和风天气api

开发文档

GeoAPI

和风天气GeoAPI 提供全球地理位置,全球城市搜索服务,支持经纬坐标反查、多语言、模糊搜索等功能

天气数据是基于地理位置的数据,因此获取天气之前需要先知道具体的位置信息,和风天气提供一个功能强大的位置信息搜索API 服务

通过GeoAPI,你可获取到需要查询城市或POI的基本信息,包括查询地区的location id 你需要这个id 去查询天气,geoapi 还可以帮助你

避免重名城市的困扰

支持名称模糊搜索

在你的应用网站中根据用户输入的名称返回多个城市结果,便于用户选择准确的城市并返回该城市天气

在你的应用或网站中展示热门城市

不需要维护城市列表,城市信息更新实时获取

城市搜索

城市搜索api 提供全球地理位置、全球城市搜索服务,支持经纬度坐标反查,多语言,模糊搜索等功能

热门城市查询

获取全球各国热门城市列表

POI搜索

使用关键字和坐标查询POI 信息 (景点、火车站、港口等)

POI范围搜索

提供指定区域范围内查询所有poi 信息

城市天气

城市天气预报提供包括中国3000+市县区内的全球20万+城市的天气预报,支持实时天气、最多30天预报及最多7天逐小时天气预报

实时天气

获取中国3000+市县区和还为20万个城市实时天气数据,包括实时温度,体感温度、风力风向、相对湿度、大气压强、降水量、能见度、露点温度、云量等

每日天气预报

每日天气预报API,提供全球未来3-30天天气预报,包括:日出日落、月升月落、最高最低温度、天气白天和夜间状况、风力、风速、风向、相对湿度、大气压强、降水量、露点温度、紫外线强度、能见度等。

逐小时天气预报

逐小时天气预报api,提供全球城市未来24-168小时逐小时天气预报,包括:温度、天气状况、风力、风速、风向、相对湿度、大气压强、降水概率、露点温度、云量。

分钟预报

分钟级降水api 临近预报 支持中国1公里精度的分钟级降雨预报数据,为每一分钟的降雨进行精准预测

分钟级降水

分钟级降水api 临近预报 支持中国1公里精度的未来2小时每5分钟降雨预报数据

格点天气

以经纬度为基准的高精度、公里级、格点化天气预报产品,包括任意经纬度的实时天气和天气预报

格点天气的空间分辨率为3-5公里

格点天气是一种数值预报,由卫星、气象雷达等数据通过模型算法运算而来的,它可能收到许多因素的影响,如山脉、建筑物、人类活动、打起变化等。格点天气与观测站数据会有所不同,不可直接对比

格点实时天气

基于全球任意坐标的高精度实时天气,精确到3-5公里范围,包括:温度、适度、大气压、天气状况、风力、风向等

格点每日天气预报

基于全球任意坐标的高精度每日天气预报,精确到3-5公里范围,包括温度、湿度、大气压、天气状况、风力、风向等。

格点逐小时天气预报

基于全球任意坐标的高精度逐小时天气预报,精确到3-5公里范围,包括温度、湿度、大气压、天气状况、风力、风向等。

预警

和风天气灾害预警API提供了全球极端天气预警服务,覆盖中国及全球数十个国家或地区。

预警数据包含近百种灾害预警类型,例如:台风、暴雨、暴雪、寒潮、大风、沙尘暴、高温、干旱、雷电、冰雹、霜冻、大雾、霾、道路结冰、寒冷、灰霾、雷雨大风、森林火险、降温、道路冰雪、干热风、低温、冰冻、空气重污染、海上大雾、雷暴大风、持续低温、浓浮尘、龙卷风、低温冻害、海上大风、低温雨雪冰冻、强对流、臭氧、大雪、强降雨、强降温、雪灾、森林(草原)火险、雷暴、严寒、沙尘等等。

了解更多关于我们支持的国家或地区、支持的预警等级和预警类型。

天气灾害预警

天气灾害预警api 可以获取中国及全球多个国家或地区官方发布的实时天气灾害预警数据

天气预警城市列表

获取指定国家或地区当前正在发生预警的城市列表,你可以通过这个列表快速的了解到当前国家或地区都有哪些地方正在发生天气预警

天气指数

天气生活指数包括洗车指数、穿衣指数、感冒指数、过敏指数、紫外线指数、钓鱼指数等数据。天气指数支持中国3000+个市区县和海外15万个城市天气预报

天气指数预报

货物中国和全球城市天气生活指数预报数据

空气质量

中国3000+市县区及1700+监测站点的空气质量AQI数据,包括空气质量(AQI)实时数据,空气质量未来5天预报。

实时空气质量

实时空气质量API,支持中国3000+市县区以及1700+国控站点实时空气质量的查询,包括AQI数值、空气质量等级、首要污染物、PM10、PM2.5、臭氧、二氧化氮、二氧化硫、一氧化碳数值。

空气质量每日预报

空气质量每日预报API,支持全国3000+市县区空气质量预报数据的查询,包括AQI预报、首要污染物预报、空气质量等级预报。

时光机

时光机可以获取最近10天的历史天气和空气质量数据

1
2
3
4
5
6
和风天气额外提供了2000年至今的历史再分析气象数据,通过数据文件的形式发送,如需要长时间的历史气象数据数据,请提供下列信息,发送邮件至sales@qweather.com,我们将有专人与你联系:

企业名称
联系方式
所需要的城市或坐标
所需要的时间范围

天气时光机

获取最近10天的天气历史再分析数据

空气质量时光机

获取最近10天的中国空气质量历史再分析数据

热带气旋 台风

热带气旋(台风)API提供全球主要海洋流域的台风信息,包括台风实时位置、等级、气压、风速,还可查询台风路径和台风预报信息。

台风预报

台风预报api 提供全球主要海洋流域的台风预测位置、等级、气压、风速等

台风实况和路径

台风实况和路径api 提供全球主要海洋流域的台风实时位置、等级、气压、风速以及活跃台风的轨迹路径

台风列表

台风列表api 提供全球主要海洋流域最近2年的台风列表

海洋数据

海洋数据api 提供全球主要港口和城市的潮汐和潮流数据

潮汐

未来10天全球潮汐数据,包括满潮、干潮高度和时间,逐小时潮汐数据。

潮流

未来10天全球潮流数据,包括潮流流速和流向。

太阳辐射

太阳辐射api 支持获取全球任意坐标的辐射数据,包括净太阳散射辐射和太阳直接辐射

太阳辐射逐小时预报

太阳辐射api 支持获取全球任意坐标的辐射数据,包括净太阳辐射,太阳散射辐射和太阳直接辐射

太阳和月亮

太阳和月亮API提供了全球任意地点未来60天的日出日落、太阳高度角、月升月落和月相数据,

日出日落

获取未来60天全球任意地点日出日落时间

月升月落和月相

获取未来60天全球城市月升月落和逐小时的月相数据。

太阳高度角

任意时间点的全球太阳高度及方位角


实用资料

专用词汇表

Project

项目是承载和风天气数据服务的容器,也可以理解为是你需要开发的一个产品,例如 旅游app 或者毕业设计,查看如何创建项目

key 是获取和天气开发服务的密钥(或称为token,认证信息), 在创建项目后,你可以为你的不同业务和需求创建key,例如ios 正式环境或测试专用

public id

public id 是用户某一个数据key 的公钥,当你使用数字加密签名获取数据时,需要传递 public id

rank

Rank值是表明一个城市或地区排名的数字,基于多种因素综合计算而来,例如:人口、面积、GDP、搜索热度等。取值范围为1-10,在定位搜索服务中,返回的结果除了关键字的相关性以外,也会参考该城市的Rank值。数值越大代表该城市或地区的人口越多、面积更大或更加热门。例如陕西省西安市的Rank值就要比黑龙江省牡丹江市西安区更高,当使用“西安”作为关键字定位的时候,西安市的排名要高于西安区。

坐标

  • 中国大陆地区应使用GCJ-02坐标系,在其他地区应使用WGS-84坐标系
  • 查询格式:经度,纬度(经度在前纬度在后,英文逗号分隔,十进制格式,北纬东经为正,南纬西经为负)。例如:location=116.41,39.92

行政区划

在全国各个国家中,都有不同的行政等级划分,为了便于理解和方便查询到正确的天气和信息,和风天气的所有城市都会属于至少2个行政区划等级,请注意,和风天气的行政区划等级不完全等于各国的实际行政区划等级

locationid

locationid 或locid 是城市、地区或poi 点的id ,一般由数字或字母+数字组成,是一个地点的唯一标识,locationid 可以通过定位搜索服务获取,中国地区、热门海外城市、一些poi 点的locationid 还可以通过城市列表下载

Adcode

Adcode 是中国行政区域编码

iso 3166

ISO 3166是国际标准化组织(ISO)发布的全球国家代码标准,正式名称是国家名称和其分支的代码。该标准规定了国家名称、附属领土、地理利益的特殊区域以及它们的主要分支(如省或州)的名称。国家代码有二位字母代码、三位字母代码、以及三位数字代码,和风天气采用的是其中的二位字母代码(alpha-2)。

完整的二位数字ISO 3166可通过我们的Github下载。

POI

point of interest,兴趣点,在和风天气的兴趣点概念中包括 机场、港口、火车站、中国控制质量监测站和中国景点

日期和时间

和风天气 在v7 版本及以上使用iso 8601 2004 作为所有日期和时间表达式,日期和时间均为当地时间

日期格式:YYYY-MM-DD,例如 2019-12-30,代表2019年12月30日。
长时间格式:YYYY-MM-DDTHH:MM±timezone,例如 2019-12-30T08:35+0800,代表东八区2019年12月30日上午8点35分。
短时间格式:HH:MM,例如 20:31

Timezone 时区,在api 中的字段名为tz 该时区的表达规范采用了tz database 格式,或称 iana time zone database

夏令时

isDST 表示当前是否处于夏令时,天气数据中的时间已经对夏令时做了调整,你不需要再进行任何转换

UTC Offset
在城市搜索接口中,utcOffset字段表示该地区/城市当前时间与UTC时间的偏移,该偏移已经考虑了一些国家在进入夏令时的情况,因此这个偏移与时区偏移不完全一样。例如纽约的时区是America/New_York,与UTC相差-5小时,当纽约在每年3月的第二个星期日进入夏令时后,纽约当地时间与UTC相差-4小时,此时utcOffset的值是-04:00

public time

数据发布时间,是观测站或数据源发布的时间,代表当前数据是在什么时刻发布的

update time

和风天气数据更新时间,与pubTime不同,该时间是和风天气系统进行数据更新的时间,表示当前获取的数据最近一次更新的时间。

  • 可以通过相同的更新时间来判断数据内容是否有变化,但不能依靠不同的更新时间来判断数据内容一定有变化,在有些情况下,气象模型计算结果有可能在不同的更新时间得到相同的结果。
  • 由于天气数据的特殊性以及数据更新的持续性,无法确定精确的更新时间,请以接口返回数据的updateTime字段为准。

数据 更新间隔
灾害预警 5分钟
逐天预报 1-8小时
逐小时预报 1小时
生活指数 1小时
实况类数据 10-40分钟
分钟级降雨 10-20分钟
卫星云图 30-60分钟

iOS Bundle identifier
Xcode切换到Info下,可查看Bundle Identifier。

请注意Bundle ID仅限英文字母、数字、短横线和下划线。

Android Package Name
打开Android 应用工程的AndroidManifest.xml配置文件,package属性所对应的内容为应用包名。

请注意Android Package Name仅限英文字母、数字、短横线和下划线。

最大连接数
API或SDK服务能够承载的最大连接数量。当连接超过当前应用版本所限制的最大连接数时,新建连接请求将被丢弃。

QPM
QPM (Query Per Minute),每分钟请求数,超过每分钟请求数量的请求将返回错误代码,在下一分钟后恢复。

不同订阅的QPM不相同。参考订阅对比。
QPM以单独项目计算,一个项目下所有数据KEY共享QPM,不同项目分别计算QPM。
风力等级
风力等级用于直接展示,不建议作为枚举项使用;例如以后出现更高等级风力或者变更了风力等级的标准,采用枚举项的方式则会出现匹配不到的情况,此情况请谨慎使用。

风力等级

依据风速而来,可参考风力等级与风速对照,和风天气采用 KM/H 为单位。

当风力等级为0时,风向角度为-1,风向为无持续风向。

加密签名认证

为了提供更安全的api 认证,我们推荐你使用数字签名认证方式进行接口的访问的认证,数字签名方式是一种替代单独api key 的更安全的接口访问方式,它会对请求参数加密后得到的签名字串进行身份验证

签名参数
publicid: 公共ID,每个KEY都对应一个公共ID,可在控制台查看

t: 时间戳,秒级

sign: 数字签名

创建签名
将请求参数格式化为“key=value”格式,如“k1=v1”、“k2=v2”、“k3=v3”;
去除请求参数中值为空的参数
去除请求参数中参数为sign 的参数 ( 签名参数不参与签名算法 )
将第3步剩余的键值对以字典序升序排列,并用 & 符号连接,如 a=1&b=2&m=3&w=4
将第4步得到的字符串后拼接上API密钥, 假设密钥为 abc , 则 结果为: a=1&b=2&m=3&w=4abc
将第5步得到的字符串进行MD5加密 ( 注 :字符集为 UTF-8 ),得到签名结果
将第6步得到的签名结果 作为参数添加至请求中,参数名为 sign, 即 sign=xxxxxxx

单位

和风天气默认采用公制单位,例如,公里、摄氏度等,如需要采用英制单位,可以通过添加对应的参数进行设置

单位参数

单位 API请求参数 iOS常量属性 Android常量属性
公制单位 m UNIT_TYPE_M METRIC
英制单位 i UNIT_TYPE_I IMPERIAL

单位列表

数据项 公制单位 英制单位
温度 摄氏度 华氏度
风速 公里/小时 km/h 英里/小时 mile/h
能见度 公里 km 英里 mile
大气压强 百帕 hPa 百帕 hPa
降水量 毫米 mm 毫米 mm
PM2.5 微克/立方米 μg/m3 微克/立方米 μg/m3
PM10 微克/立方米 μg/m3 微克/立方米 μg/m3
O3 微克/立方米 μg/m3 微克/立方米 μg/m3
SO2 微克/立方米 μg/m3 微克/立方米 μg/m3
CO 毫克/立方米 mg/m3 毫克/立方米 mg/m3
NO2 微克/立方米 μg/m3 微克/立方米 μg/m3

预警信息

和风天气预警服务支持中国及全球多个国家和地区的气象预警服务(API,iOS SDK,Android SDK),这里可以了解我们所支持的预警信息的详细说明,例如支持的国家或地区列表,预警等级和预警类型。

警告:天气预警的等级、类型、紧迫程度等信息有可能发生变化,包括新增、修改或删除,这些变化我们可能无法提前通知到你,因此你需要让你的程序更具有兼容性,避免在发生变化的时候导致错误出现!

我们的建议是不要尝试枚举这些数值,或做其他形式的映射,而是直接输出到屏幕上。

提示:天气预警不一定适用于多语言设置,当一条预警信息无法响应你的多语言设置时,我们会返回英文或当地语言的信息,而且这可能是混合的,即部分内容为英文,另一部分是本地语言。

支持的国家或地区
天气灾害预警并非适用于所有城市,我们将不断的扩展这些数据,目前和风天气预警服务支持的国家或地区如下:

提示:你可以使用range参数通过预警城市列表获取该国家的所有预警城市信息。

注意:天气预警基于各国政府部门的官方数据,当官方数据无法正常发布时,我们可能会临时下线遇到问题的国家。

ISO 3166-1 国家或地区
ar 阿根廷
at 奥地利
be 比利时
br 巴西
bg 保加利亚
cn 中国
hr 克罗地亚
cy 塞浦路斯
cz 捷克
dk 丹麦
ee 爱沙尼亚
fi 芬兰
fr 法国
de 德国
gr 希腊
hk 中国香港
hu 匈牙利
is 冰岛
in 印度
ie 爱尔兰
il 以色列
it 意大利
kw 科威特
lv 拉脱维亚
lt 立陶宛
lu 卢森堡
mo 中国澳门
mt 马耳他
md 摩尔多瓦
me 黑山
nl 荷兰
mk 北马其顿
no 挪威
pl 波兰
pt 葡萄牙
ro 罗马尼亚
ru 俄罗斯
rs 塞尔维亚
sk 斯洛伐克
si 斯洛文尼亚
za 南非
es 西班牙
se 瑞典
ch 瑞士
gb 英国
预警状态
warning.status 代表当前预警信息的发布状态,包括:

Active - 当前预警处于激活状态
Update - 当前预警是一次对之前指定预警信息的升级或修改
Cancel - 由于各种原因取消之前指定预警信息的发布。该状态是一个预保留的值,你目前不能使用这个值去判断预警是否有效。
过期时间
提示:一般预警信息的有效期不会超过48小时,因此如果预警信息中未能提供warning.endTime,我们建议将这条预警信息的过期时间设置为从warning.startTime开始后的24小时(我们也是这样做的)。

你可以根据warning.endTime来预估一条预警信息的失效时间,或者当你更新数据的时候无法再获取当之前相同ID的预警信息时,代表这一条预警已经过期或失效。

预警等级(弃用)
warning.level代表预警信息的等级。

警告:目前该字段已弃用,使用严重等级和严重等级颜色替代。

严重等级
warning.severity表示预警事件所造成的影响强度。

不同国家和地区对预警严重等级有自己的的定义和规范,在科威特适用于Minor、Moderate、Severe和Extreme。对于巴西,适用于Moderate、Severe和Extreme。对于南非,适用于Minor、Moderate、Extreme和Unknown。对于澳大利亚适用于Cancel、None、Unknown、Standard、Minor、Moderate、Major、Severe和Extreme。对于其他国家适用于Unknown、Minor、Moderate、Severe和Extreme。

目前预警严重等级包括:

Cancel
None
Unknown
Standard
Minor
Moderate
Major
Severe
Extreme
严重等级颜色
对于严重等级,一些国家和地区的预警严重等级习惯采用颜色进行定义,我们将根据当地习惯提供严重等级所适用的颜色。

注意:如果当地没有更适合的颜色,则返回为空。

目前预警严重等级颜色包括:

White
Blue
Green
Yellow
Orange
Red
Black
紧迫程度
注意:这个字段在一些国家和地区不可用,或者与所列出的值不尽相同。

warning.urgency 表示预警信息的紧迫性,包括:

Immediate
Expected
Future
Past
Unknown
确定性
注意:这个字段在一些国家和地区不可用,或者与所列出的值不尽相同。

warning.certainty 表示预警信息的确定性或可信度,包括:

Observed
Likely
Possible
Unlikely
Unknown
预警类型
和风天气根据各国官方气象部门的定义,提供了超过100种预警类型,这些类型并非适用于所有国家或地区。

我们也根据预警类型制作了对应的图标,请参考和风天气图标。

Type TypeName
1001 台风
1002 龙卷风
1003 暴雨
1004 暴雪
1005 寒潮
1006 大风
1007 沙尘暴
1008 低温冻害
1009 高温
1010 热浪
1011 干热风
1012 下击暴流
1013 雪崩
1014 雷电
1015 冰雹
1016 霜冻
1017 大雾
1018 低空风切变
1019 霾
1020 雷雨大风
1021 道路结冰
1022 干旱
1023 海上大风
1024 高温中暑
1025 森林火险
1026 草原火险
1027 冰冻
1028 空间天气
1029 重污染
1030 低温雨雪冰冻
1031 强对流
1032 臭氧
1033 大雪
1034 寒冷
1035 连阴雨
1036 渍涝风险
1037 地质灾害气象风险
1038 强降雨
1039 强降温
1040 雪灾
1041 森林(草原)火险
1042 医疗气象
1043 雷暴
1044 停课信号
1045 停工信号
1046 海上风险
1047 春季沙尘天气
1048 降温
1049 台风暴雨
1050 严寒
1051 沙尘
1052 海上雷雨大风
1053 海上大雾
1054 海上雷电
1055 海上台风
1056 低温
1057 道路冰雪
1058 雷暴大风
1059 持续低温
1061 浓浮沉
1064 短时强降雨
1101 洪水
1302 泥石流
1402 风暴潮
1601 炎热
1602 强烈季风信号
1603 山泥倾泻
1604 热带气旋
1605 火灾危险
1606 新界北部水浸特别报告
1607 寒冷天气
2001 大风
2002 强降雪和结冰
2003 大雾
2004 海岸风险
2005 森林火险
2006 雨
2007 大雨洪水
2008 冻雨和结冰
2009 地面霜
2010 扬尘风
2011 强地面风
2012 炎热
2013 夜间炎热
2014 寒冷
2015 雷暴和闪电
2016 冰雹风暴
2017 海况风险
2018 渔业风险
2019 低湿度
2020 累计降水风险
2021 冲浪风险
2022 海上大风
2023 道路天气风险
2024 雷雨
2025 雷雨大雾
2026 破坏性大风
2027 草原火灾条件
2028 天气预警建议
2052 大雪
2053 Zonda Wind
2054 风暴
9998 天气预警
9999 其他

天气指数信息

天气生活指数是一种根据多种气象要素而计算出的指数,使用不同类型的指数可以直观的了解天气对人类活动的影响

支持的国家或地区

天气指数并非适用于所有国家或地区,目前对于中国(包括港澳台地区),所有天气指数均可用。对于其他国家或地区,可使用运动指数、洗车指数、穿衣指数、紫外线指数和钓鱼指数。

天气指数类型
注意:当选择全部天气指数时,不能再选择其他指数。

天气指数类型 API类型值 iOS SDK类型常量 Android SDK类型常量
全部天气指数 0 INDICES_TYPE_all ALL
运动指数 1 INDICES_TYPE_spt SPT
洗车指数 2 INDICES_TYPE_cw CW
穿衣指数 3 INDICES_TYPE_drsg DRSG
钓鱼指数 4 INDICES_TYPE_fis FIS
紫外线指数 5 INDICES_TYPE_uv UV
旅游指数 6 INDICES_TYPE_tra TRA
花粉过敏指数 7 INDICES_TYPE_ag AG
舒适度指数 8 INDICES_TYPE_comf COMF
感冒指数 9 INDICES_TYPE_flu FLU
空气污染扩散条件指数 10 INDICES_TYPE_ap AP
空调开启指数 11 INDICES_TYPE_ac AC
太阳镜指数 12 INDICES_TYPE_gl GL
化妆指数 13 INDICES_TYPE_mu MU
晾晒指数 14 INDICES_TYPE_dc DC
交通指数 15 INDICES_TYPE_ptfc PTFC
防晒指数 16 INDICES_TYPE_spi SPI
天气指数等级
注意:生活指数等级有可能会进行调整。

天气指数类型 级别名称(对应等级数值)
运动指数 适宜(1)、较适宜(2)、较不宜(3)
洗车指数 适宜(1)、较适宜(2)、较不宜(3)、不宜(4)
穿衣指数 寒冷(1)、冷(2)、较冷(3)、较舒适(4)、舒适(5)、热(6)、炎热(7)
钓鱼指数 适宜(1)、较适宜(2)、不宜(3)
紫外线指数 最弱(1)、弱(2)、中等(3)、强(4)、很强(5)
旅游指数 适宜(1)、较适宜(2)、一般(3)、较不宜(4)、不适宜(5)
花粉过敏指数 极不易发(1)、不易发(2)、较易发(3)、易发(4)、极易发(5)
舒适度指数 舒适(1)、较舒适(2)、较不舒适(3)、很不舒适(4)、极不舒适(5)、不舒适(6)、非常不舒适(7)
感冒指数 少发(1)、较易发(2)、易发(3)、极易发(4)
空气污染扩散条件指数 优(1)、良(2)、中(3)、较差(4)、很差(5)
空调开启指数 长时间开启(1)、部分时间开启(2)、较少开启(3)、开启制暖空调(4)
太阳镜指数 不需要(1)、需要(2)、必要(3)、很必要(4)、非常必要(5)
化妆指数 保湿(1)、保湿防晒(2)、去油防晒(3)、防脱水防晒(4)、去油(5)、防脱水(6)、防晒(7)、滋润保湿(8)
晾晒指数 极适宜(1)、适宜(2)、基本适宜(3)、不太适宜(4)、不宜(5)、不适宜(6)
交通指数 良好(1)、较好(2)、一般(3)、较差(4)、很差(5)
防晒指数 弱(1)、较弱(2)、中等(3)、强(4)、极强(5)

空气质量信息

空气质量指数(Air Quality Index)简称AQI,是定量描述空气质量状况的非线性无量纲指数,其数值越大、等级和类别越高、颜色越深,代表空气污染状况越严重,对人体的健康危害也就越大。

支持的国家或地区
目前空气质量数据仅支持中国(含港澳台)地区使用。

空气质量指数等级
空气质量指数等级的划分以《环境空气质量指数(AQI)技术规定(试行)(HJ 633—2012)》为准,未来支持更多国家或地区时,会根据当地地区的规范发布新的等级。

数值 等级 级别 级别颜色
0-50 一级 优 绿色
51-100 二级 良 黄色
101-150 三级 轻度污染 橙色
151-200 四级 中度污染 红色
201-300 五级 重度污染 紫色

300 六级 严重污染 褐红色

太阳和原谅信息

太阳和月亮信息
一般来说,我们每天都可以看到太阳和月亮,但是如果你仔细观察,会发现在一些地区和特殊日期,太阳或月亮并没有出现。本片文档将介绍关于太阳和月亮的特殊情况。

注意:你需要处理日出日落或月升月落返回为空的情况,避免造成你的程序故障。

日出日落
日出一般是指太阳由东方的地平线徐徐升起的景象,日出时间的定义为日面刚从地平线出现的一刹那,而非整个日面离开地平线。

日落是每日太阳因为地球自转的结果而消失在地平线下的现象,日落时间的定义是太阳盘面的边缘完全消逝在西方地平线下的时间。

对于生活在高纬度地区(60度+)的人来说,看到的日出日落的时间和其他地区有所不同。由于极昼和极夜的原因,高纬度地区可能不存在日出和日落数据,此时日出日落时间将返回为空。例如在朗伊尔城,每年11月份至次年3月份处于极夜期,在此期间查询该城市的日出日落将可能返回空数值。

而在极昼或极夜开始和结束的时候,sunrise 或 sunset 可能为空。

月升月落
月升月落的时间更加复杂和多变,我们列举了一些常见场景。

为什么月亮在早上升起?
为什么有时候月升的时间是上午9点?月亮不是只在晚上出现吗?你们的数据出错了吧?

实际上,月亮并非只在晚上出现。

月球的公转周期大约是29.53天,因此对于地球来说,月球每天移动的角度是:

360° / 29.53天 ≈ 12.2°
这导致地球在完成一次自转后,需要再移动12.2°才能看到月亮。而地球移动12.2°需要多长时间呢?我们知道地球的自转周期大约是24小时,也就是说我们每个小时移动 360° / 24小时 = 15°,那么显然地球移动12.2°需要:

12.2° / 15° * 60分钟 ≈ 48.8分钟
换句话说,每天的月升时间相比前一天都要延迟50分钟左右。

因此如果你在晚上9点看到月亮升起来了,那么大概再过15天,你将发现月亮在早上9点升起来了。一般来说,在新月前后,月亮几乎只在白天出现,而在满月前后,月亮则在一整晚都在。

提示:上述计算和数据仅为举例说明,并非严谨计算。实际上每天的月升时间相比前一天可能推迟30-70分钟。

为什么一整天都有月亮?
由于月球的公转轨道不是地球的赤道平面,而是比较接近黄道平面,你可以理解为月亮是倾斜着围绕地球进行公转,因此在高纬度地区,每个月至少有一天完全看不到月亮,也至少有一天月亮在一整天都出现,此时moonrise 和 moonset可能为空。

月球轨道地球和月球轨道(原始图片Wikimedia)

只有月升或只有月落
还记得上边我们说到每天月升时间都会比前一天晚50分钟吗?所以当一个特定日期的月升时间在23:10-23:59分时,那么下一次的月升则会推迟到第三天的00:00-00:49,月落也是如此。因此通常情况下,每个月都会有一天只有月升,有一天只有月落,并且一般发生在上弦月和下弦月的前后。

北京月升月落时间表北京2022年月升月落时间表,空白的地方表示月升或月落时间没有发生在当天24小时内。这并非是月亮惹的祸,而是我们的人为的历法导致的。

月相
月相,是由地球上所观看之月光形态。月球本身不发光,月球直接被太阳照射之部分反射太阳光,才可见发亮,当地球位于月球和太阳之间时,我们可以看到整个被太阳直射的月球部分,这就是“满月”。当月球位于地球和太阳之间时,我们只能看到月球不被太阳照射的部分,这就是“朔”,而当首度再见到月球明亮的部分时,称为“新月”。

月相这张图代表了不同月相对应的太阳、地球和月球的相对位置,此时观察者位于北半球,如果观察者位于南半球时,看到的月相形状是左右倒置的。(原始图片Wikimedia by Orion 8)

下方表格代表了不同月相的示例。

提示:因为月球轨道较接近黄道而非赤道,故下表南北半球的分界严格来说以黄道为分割。

提示:南北半球观看到的月相形状是左右倒置的,但名称是一样的。在数据中的moonPhase.icon已经进行了适配。例如当处于蛾眉月的时候,北半球的moonPhase.icon = 801,而南半球的moonPhase.icon = 807

月相 北半球 南半球 平均月出时间 平均月落时间 北半球示意图 南半球示意图
新月(朔月) 肉眼不可见,月球完全在太阳的阴影内 肉眼不可见,月球完全在太阳的阴影内 06:00 18:00
蛾眉月(娥眉月) 右侧的1–49%可见 左侧的1–49%可见 09:00 21:00
上弦月 右侧的50%可见 左侧的50%可见 12:00 00:00
盈凸月 右侧的51–99%可见 左侧的51–99%可见 15:00 03:00
满月(望月) 100% 100% 18:00 06:00
亏凸月 左侧的99–51%可见 右侧的99–51%可见 21:00 09:00
下弦月 左侧的50%可见 右侧的50%可见 00:00 12:00
残月 左侧的49–1%可见 右侧的49–1%可见 03:00 15:00
了解更多:

这篇文章中的视频代表了2022年每小时的月相的变化以及月球相对地球的位置:Moon Phase and Libration, 2022
这个视频代表了月相是如何产生的以及在太空中观看的效果,这有助于你理解月相的概念:The Moon’s Phases as Seen from Space

最佳实践

天气变化瞬息万变,天气数据也是如此,为了确保你的程序更加强壮,无论任何时候,请不要假定返回的数据都是完整的,或者对返回数据的长度、范围进行假设。

天气数据会受到多种因素的影响,并且大多数情况下是完全无法避免的,包括自然和物理现象、行政区划的变更、各国气象部门的发布规则、气象算法的迭代以及我们对数据的升级,这些因素都会导致天气数据的变化。

例如:当我们的数据源缺少某些数据的时候可能会导致字段缺失;高纬度地区某一天可能会出现没有日出日落的情况;预警类型会增加新的代码;当我们的功能升级时,可能在数据返回中增加新的字段或参数。

因此在你的程序中必须考虑如何处理这些问题。

我们的建议有:

定期查看我们发布的公告和最新版本的开发文档

不要完全依赖枚举值,对新增、删除和变更的值进行适配

对新增、删除和变更的字段进行适配

对缺省值、空值提前做好适配

不要按顺序或字段的数量进行编码

了解数据中的状态码及其含义

一般来说,数据的变化我们会提前发布公告,然而请注意,这些变化不一定会向下兼容,如果你没有做好适配,那么你可能必须升级你的程序才能避免发生错误,另外一些更加紧迫性的变更有可能在无法提前通知你的时候发生。

优化请求

优化请求
和风天气会根据你的请求,通过API或SDK的方式向你提供天气服务,在这一过程中,需要尽量优化你的请求,以便更高效的使用我们的服务,这篇文档将介绍几种常见的优化方式。

为了更有效的使用和风天气开发服务,你需要尽量优化你的请求。这篇文档将介绍几种常见的优化方式。

构建合法的URL
当你使用API获取数据的时候,会通过URL向我们发起请求,例如:

https://api.qweather.com/v7/weather/3d?parameters
一般来说,这段请求URL不会出现错误,但是在传递一些特殊的参数和值的时候需要特别注意:

不要使用空格
请求链接中不要输入一个空格,这通常发生在复制粘贴的情况下,这种错误可能不会被立即发现,因此需要你在复制粘贴的时候特别注意。

例如: 通常我们会复制粘贴KEY,根据不同的系统或软件,有可能被复制的内容的前后存在空格,当你完成粘贴后,需要将这些空格删除。

使用标准的URI规范字符
你可能需要在API的请求地址中拼接多个参数或值,这些内容会采用特殊符号进行分割,例如坐标的值通过,分割经度和维度,而不要使用中文,

关于标准URI的规范请参考Uniform Resource Identifier (URI): Generic Syntax

URL encoding
对于非ASCII字符集以内的字符,如北京市,你需要对这些字符进行URL encoding

安全的请求
请不要在网页中直接编写URL请求或共享这段URL,这有可能泄露你的敏感信息,使用HTTPS、签名认证等方式可以有效的保护你的敏感信息。关于如果保护KEY及其他发送请求时携带的敏感信息,请参考保护你的KEY。

处理错误
当你遇到返回的数据中code字段的值不是2xx的时候,代表你的请求出现了错误,此时你需要暂停请求并妥善的处理这些错误,否则极端情况下,你可能会违反我们的使用限制而被冻结帐号。

例如: 当你传入了错误的参数或KEY,将返回400或403,此时你应该暂停这一次的请求,排除故障后再继续。否则当产生大量请求错误时,我们可能会冻结你的帐号。

了解状态码
在API/SDK返回的数据中,code字段代表当前请求的状态,返回的值和含义与HTTP Status Code类似,并略有修改。

完整的解释说明请参考状态码。

使用指数退避算法处理错误
当出现错误的时候,请停止请求并进行检查,待故障排除后再恢复请求。然而一些错误并非由于请求不符合规范而导致的,例如超过每分钟请求限制,没有足够的余额等等,这时你应该使用指数退避算法优化请求。

例如,当你的请求收到429状态码时,代表你超过了每分钟请求次数,此时你应该在下次请求开始前添加x秒的等待期。如果下次请求仍然返回402,则将等待期延长一倍,再发送另一次请求,以此类推,继续延长等待期,直至不再返回错误状态码。

简单的公式可以参考:

t = bc

其中t代表下次请求的间隔时间,或称之为等待期,b代表基数,c是发生错误的次数。如果按照上述的例子来讲,假设b = 2,那么在出现第一次错误时,下一次请求应该等待21 = 2秒,再下一次请求应等待22 = 4秒,第三次请求等待23 = 8秒,如果第四次请求响应正常,则恢复之前的请求频率并重置c = 1。

避免冲突
如果你有大量独立设备发送请求,为了避免这些设备产生了相同的等待期而产生冲突(比如都在等待2秒后重新发送,这并不能恢复QPM),你可以在等待期中设置一个随机数,或称之为插槽,这个随机数的取值范围可以是0~2c-1。在上述例子中,前三次的等待期的随机数分别是:

第一次:0, 1
第二次:0, 1, 2, 3
第三次:0, 1, 2, 3, 4, 5, 6, 7
这样你的多个独立设备每次都有不同的等待期而避免了冲突。

截断
等待期不应是无限的,如果连续出现20次错误,那么此时的等待期就已经长达291个小时,这显然是不现实的。因此你需要为等待期设置一个最大值,当达到这个值时,则不再增加c的取值。我们的建议是c = 10。

按需请求
仅在需要天气数据的时候再进行请求。

例如:在APP中,天气内容的位置较为靠下,你可以让程序在用户滑动到天气内容部分再进行请求。

如果已经加载了天气内容,你也可以为这个内容设置缓存时间,或者增加一个刷新按钮,让用户手动去刷新数据。关于设置缓存,请参考缓存你的数据。

处理Gzip

和风天气的web api 默认采用gzip 进行压缩,这将极大的减少网络流量,加快请求

提示:如果使用iOS SDK或Android SDK,不需要考虑处理Gzip。

对于不同开发语言如何处理Gzip,我们在这里给出一些官方参考文档,这些文档可能与你当前使用的版本不一致,请注意它们的区别。

C#
https://learn.microsoft.com/zh-cn/dotnet/api/system.io.compression.gzipstream?view=net-6.0

Dart
https://api.dart.cn/stable/2.17.0/dart-io/GZipCodec-class.html

Go
https://pkg.go.dev/compress/gzip

Java
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/zip/GZIPInputStream.html

Python
https://docs.python.org/zh-cn/3/library/gzip.html

Ruby
https://ruby-doc.org/stdlib-2.7.0/libdoc/zlib/rdoc/Zlib/GzipReader.html

缓存你的数据

天气数据普遍具有时效性,对于不同的数据种类,时效性也有所不同。在你请求和风天气数据的时候,可以考虑设置弹性的、合理的缓存,这样可以有效降低服务器、带宽的消耗,加快用户的访问。

注意:缓存不是强制的要求,请认真阅读本文档,然后根据你的产品进行充分的评估,否则可能会对你的产品造成严重错误。如果你不确定,或者无法处理所有应用场景,请不要使用缓存。

警告:你不能缓存、提取、批量存储GeoAPI中提供的所有数据,这将违反我们的服务条款或侵犯版权,这些数据的版权所有者可能会对你采取法律行动。

合理性
对于时效性较强的数据,你不应该设置过长的缓存时间,例如实时天气,一天的温度变化较多,如果你设置超过了1小时的缓存,有可能造成用户在上午甚至中午查看到的是早上较为凉爽的气温。

提示:缓存数据与原数据的间隔时间最多相差2倍,例如你的缓存时间与和风天气的更新频率均为60分钟,和风天气在15:00发布了新的数据,用户从15:59开始访问你的产品,在16:59的时候用户通过你的缓存获取依然是15:00发布的原数据,在这种情况下,缓存数据与原数据的间隔时间达到了119分钟。

弹性
缓存应该是弹性的,你不应该为所有数据或在所有时间范围内设置相同的缓存策略,否则你的程序可以出现严重错误或崩溃,因此你需要特别注意:

跨小时和跨天的场景,否则用户可能无法查看到完整的天气数据,严重情况可能导致你的程序错误。
例如:对于逐天预报,用户在23:00使用了你的产品查看了7天预报,在第二天00:00之后,如果你不刷新缓存,用户看到的7天预报的第一天将变成前一天或者只剩下6天预报,极端情况下,你的程序还可能报错。

夏令时对缓存的影响,避免夏令时开始和结束的时刻发生时间显示错误的问题。
如果你在服务端采用缓存,需要注意时区的问题,每个国家会有不同的时区,你设置的弹性缓存应该确保在不同时区都可以正常工作。
清除缓存
你应该为你的程序设置一种可以立即清除缓存的功能,当出现错误的时候,可以通过清除缓存来实时的解决问题,而不需要重新发布新版本程序。

推荐的缓存时间
对于不同数据设置的缓存时间,我们推荐如下,当然更少的缓存时间可以获得更加及时的数据响应,还包括我们额外对数据进行的修复和优化。

注意:当已发布的数据需要进行修复时,我们会增加更新次数和更新频率。

注意:推荐的缓存时间并非适用于所有场景和需求,你应该根据你的产品进行评估。和风天气的数据发布频率也有可能会变更,我们会更新文档。

数据类型 推荐的缓存时间 和风天气的更新频率
实时天气 10-30分钟 5-10分钟
逐小时天气预报 30-60分钟 60分钟
逐天天气预报 1-6小时 60分钟
天气预警 5-20分钟 3分钟
天气指数 6-12小时 60分钟
分钟降水 5-10分钟 5分钟
实时空气质量 30-60分钟 30-60分钟
空气质量逐天预报 8-12小时 1-6小时
潮汐和潮流 8-12小时 8小时
台风 活跃期 20分钟
非活跃期60分钟 10-60分钟
太阳辐照 6小时 3-6小时
限制
你不能缓存、提取、批量存储GeoAPI中提供的所有数据,这将违反我们的使用限制和服务条款。

GeoAPI中提供的数据内容来源于多个地理信息服务商,他们拥有不同的版权许可,大多数服务商(几乎是所有)许可你实时的使用,但禁止你将这些数据进行任何形式的存储,否则你可能会面临严重的法律风险。

保护数据key

KEY是获取和风天气数据的重要敏感信息,你有责任妥善保管,避免泄露KEY而造成的损失,在这里介绍几种保护KEY的方式:

使用HTTPS
从2014年开始,我们的API就支持了HTTPS加密访问,在2016年底,我们关闭了所有非HTTPS的访问。使用HTTPS可以有效的阻止请求中的敏感信息被泄露,请不要跳过HTTPS的保护。

使用加密签名认证
使用加密签名的方式进行认证,这样即使他人抓取到了你的请求信息,也很难获得更多有价值的内容。

为每个产品创建不同的KEY
我们支持创建多个KEY和项目,因此不要把鸡蛋都放在一个篮子里,对于不同的产品或者同一产品的不同平台,应该创建不同KEY进行使用,例如你要做一个款关于旅游的项目,可以为iOS、Android、小程序和网站创建不同的KEY。

更改KEY
如果你认为你的KEY已经泄露或者怀疑泄露,你可以新建一个KEY,然后升级你的程序,测试并确保程序都运行在新的KEY,最后删除旧的KEY。

在服务端保存KEY
在服务端存储KEY,再通过服务端发送到前端需要展示的天气数据,这样他人就无法在前端中抓取到你的KEY。

混淆或加密KEY
如果不可避免的在前端中存储KEY,那么也可以通过混淆或加密代码的方式,再配合不定期的更改KEY,从而让他人获取这些数据更加困难。

不要在代码中共享
在开发过程中,不可避免的会与其他人共享你的代码,因此将KEY存储在环境变量或独立的文件中,则可以有效的避免代码共享时泄露你的KEY。如果你的代码会发布在公共源代码管理系统时(例如Github),请确保存储KEY的文件包含在.gitignore或其他类似功能的配置文件中,换句话说,让KEY不要保留在源代码管理系统中。

订阅

和风天气开发服务采用订阅模式,当你创建项目时,你至少需要选择一种订阅。使用和风天气的服务订阅非常简单和自由,免费或者你只需要为你实际使用的部分付费。

我们有三种订阅模式:

免费订阅
标准订阅
高级订阅
免费订阅
提示: 免费订阅在开发前需要进行额外的配置,请参考API配置、iOS SDK配置和Android SDK配置。

对于中小开发者来说,和风天气开发服务的免费订阅提供了基本的天气服务。在免费订阅下,你可以每天有限次数的使用大部分的天气服务,另外我们为免费订阅提供了知识共享 署名-相同方式共享 4.0 国际 许可协议,这样在符合上述许可的条件下,你可以自由的使用,甚至包括商业用途。参考我们的许可证文档。

免费订阅可使用的天气服务和其他规格请参考下方的订阅对比。

标准订阅
提示:在初次使用标准订阅时,你需要确保你的可用额度大于等于10元。

标准订阅,是使用最广泛的订阅计划。使用标准订阅,你可以获取和风天气的所有开发服务,没有任何请求量的限制,支持全球加速和自动路由功能,因此你的应用可以部署在世界各地,而不用担心响应速度的问题。

标准订阅采用按量计费模式,你只需要为你实际使用的部分付费,无需预付大量资金。标准订阅的价格是阶梯价格,意味着你的请求量越多,单价越低,参考按量计费和定价或使用价格计算器预估你的成本。标准订阅还支持节省计划,可以进一步的降低你的成本。了解节省计划。

对于签约的企业开发者,标准订阅还支持定期付款功能,了解定期付款。

标准订阅提供了和风天气许可,你可以更加自由和方便在你的业务中使用我们的服务。

标准订阅的具体规格请参考下方的订阅对比。

高级订阅
高级订阅适合于高请求量(一般指每天100万次请求量)的企业客户或对性能和稳定性有严格要求的客户。高级订阅包含了标准订阅的所有内容,除此之外,还提供了更加强大的服务和网络性能:独立的、可扩展的网络和服务器,高达50000的QPM,SLA 99.9%,自定义API域名,遍布全球的CDN边缘加速。

与更加强大的性能对比,高级订阅反而提供了更低的单价,用于满足你海量的业务需求。

如果对高级订阅感兴趣,请与我们联系,我们将为你制定合适的方案。

高级订阅的具体规格请参考下方的订阅对比。

订阅对比
功能 免费订阅 标准订阅 高级订阅
价格 免费 按量计费 按需
请求量 1000次请求/天 按需 按需
地理信息 ✓ ✓ ✓
天气预报 实时
每小时预报(24小时)
每日预报(3-7天) 实时天气
每小时预报(24-168小时)
每日预报(3-30天) 实时天气
每小时预报(24-168小时)
每日预报(3-30天)
分钟降水 ✓ ✓ ✓
格点天气 实时天气
每小时预报(24小时)
每日预报(3-7天) 实时天气
每小时预报(24-72小时)
每日预报(3-7天) 实时天气
每小时预报(24-72小时)
每日预报(3-7天)
天气预警 ✓ ✓ ✓
天气指数 ✓ ✓ ✓
空气质量 ✓ ✓ ✓
太阳和月亮 ✓ ✓ ✓
时光机 × ✓ ✓
台风 × ✓ ✓
海洋 × ✓ ✓
太阳辐照 × × ✓
服务器性能 共享 商业共享 独立部署
SLA × 99.5% 99.95%
QPM 100 3000 50000起
最大连接数 100 5000 50000起
网络 共享 商业共享 独立网络
自动路由 ✓ ✓ ✓
数据节点 2个 4个 10个
边缘加速 × × ✓
自定义API地址 × × ✓
许可证 CC BY-SA 4.0 和风开发许可 和风开发许可
技术支持 × 电子邮件/工单 电话/电子邮件/工单
合同 × × 按需
限制
每个帐号:
仅可创建一个免费订阅。
标准订阅的数量取决于你的项目数量限制。
初次使用标准订阅,你的可用额度必须大于等于10元。
免费订阅不支持按量计费,也不支持节省计划。
不同订阅无法互相转换,但是可以通过删除项目解除订阅,之后再创建新的项目并选择合适的订阅。

账单和支付

和风天气开发服务基于按量计费模式的计费系统,是更加透明、简单和有竞争力的定价方案,而账单则是按量计费的费用凭证和计费系统的核心。本文档将介绍我们的账单和计费系统是如何工作的。

计费和账单
和风天气开发服务的标准订阅采用按量计费的后付费模式,即按照你的每一次请求记录费用,你不需要提前预付大量资金,也不需要为用不到的服务买单,你只需要为你实际使用的部分付费即可。另外,按量计费的定价是阶梯价格,意味着你使用的越多,单次请求的价格越低。

你的所有请求量和应付费用都将记录在账单中,我们将根据账单向你收取费用。以下是关于计费和账单的重要规则:

计价单位: 按量计费的计价单位是一次请求。
账单周期: 按量计费的账单周期是一个自然月,在每个月的5日前生成。
应计费用: 应计费用是你每个小时产生的请求所需要支付的费用,一个自然月内所有小时的应计费用账单合计即为当月按量计费账单。
账单支付: 当你使用自动支付模式时,我们会根据每个小时的应计费用账单向你扣减费用;当你使用定期支付模式时,我们会根据你每个月的账单向你扣减费用。参考本篇文档支付账单章节。
价格累进周期: 按量计费的阶梯价格累进周期是一个自然月,即在每个月的最开始,都将按照阶梯价格的第一档开始计算。
注意:账单由系统自动生成,无需签字或盖章,是你和我们之间的具有法律效力的凭证,你应根据账单金额向我们支付或根据账单向你的组织申请支付费用,我们不再额外提供其他形式的合同。

关于按量计费的定价请参考按量计费定价。

举例说明
下方是关于计费和账单的示例,其中价格以当前价格为例。

按量计费

你在8月10日请求了2000次城市实时天气,在8月20日请求了1000次每日天气预报(15天),之后停止使用,那么你只需要支付下列费用,并且之后不再需要支付任何费用。

2000次请求 x 0.001元 + 1000次请求 x 0.002元 = 4元
应计费用

你在8月10日13:00-13:59获取了10000次城市实时天气,那么在14:00之后将生成一份应计费用账单,该账单记录了你上一个小时的10000次请求,计算出的应付金额为10元(10000次请求 x 0.001元,忽略阶梯价格因素)。

如果你使用的是自动支付,在这份应计费用账单生成后,会自动扣减你的可用额度或节省计划金额;如果你使用的是定期支付,应计费用仅扣减你的节省计划金额(如有),但不会扣减你的可用额度,定期支付将在月账单生成后一次性扣减可用额度。

阶梯价格

你在8月份总计获取了100万次城市实时天气,阶梯价格的计算公式为:

300000次请求量 x 0.001元 + 700000次请求量 x 0.0009元 = 930元
在9月再次获取了100万次城市实时天气,阶梯价格将重置,计算公式与上个月相同。

如何降低成本?
按量计费可以根据你的需求灵活的增加或减少请求量,避免提前预付大量金额。当你的请求量较多或需求较稳定的时候,你可以使用节省计费,大幅降低你的成本。参考节省计划。

对于有大量请求量的用户(通常指的是日均50万次请求以上),请与我们的商务专家联系,以便提供更佳的解决方案。

当停止使用时,是否继续收费?
按量计费的其中一个优势就是你可以随时开始或随时停止,在你停止使用后,你不会再收到任何账单,也无需支付费用。

注意:当你停止使用时,请确保你的程序已经移除了KEY或已经完全停止向我们发送请求,否则你依然需要继续支付费用。

支付账单
在账单生成后,我们会自动尝试从你的账户可用额度中扣除费用。除了自动支付外,我们还支持定期支付和手动付款。

自动支付
标准订阅默认采用自动支付的方式。自动支付将根据每个小时的应计费用扣减你的可用额度,因此你需要随时关注你的可用额度,当可用额度<0时,你的服务可能会暂停。

如购买了节省计划,自动支付将优先通过节省计划支付费用。参考节省计划。

定期支付
提示: 开通定期支付需要与你的商务经理联系或发送工单申请。

对于企业开发者,标准订阅可以使用定期付款。定期支付是一种按月后付费模式,在每个月固定日期(默认每月10日)支付上个月标准订阅的费用。

定期支付与自动支付不同,在你设定的每月应付日期之前,应计费用不会通过可用额度进行扣款(但依然会扣减资源包或节省计划),在标准订阅账单生成当天和应付日期的第二天,我们才会尝试从你的可用额度中扣款,即当月的消费金额将在下个月进行支付。因此,定期支付的用户需要在支付日期前确保可用额度足够支付账单金额。

定期支付的扣款时间

我们会在两个时间点尝试使用你的可用额度支付标准订阅账单:

账单日期:在标准订阅账单生成时,我们将尝试使用你的可用额度支付账单
可用额度 ≥ 账单应付金额:扣减你的可用额度,账单将立即被结清。
可用额度 < 账单应付金额:扣减你的可用额度,账单状态为待支付,此时你的可用额度为负值,但这不是影响到你的服务运行。
付款日期:在你设定的付款日期的第二天,我们会再次尝试使用你的可用额度支付账单
可用额度 ≥ 账单应付金额:扣减你的可用额度,账单将立即被结清。
可用额度 < 账单应付金额:扣减你的可用额度,账单状态为欠款,你的服务将被暂停。
关于更多定期支付的说明,可以参考下方的支付场景。

手动支付
你可以进行一次性手动付款,这将增加你的可用额度,用于支付订阅的账单或其他预付费服务。请参考添加可用额度。

支付场景
以下是一些你可能遇到的支付场景。对于这些场景,我们假设的前提条件是:

你每个小时请求1000次实时天气
每个月为30天(720个小时)
你的初始可用额度为100元
当使用节省计划时,你的节省计划规格为:1年期并承诺金额为500元
每个月账单的生成日期为1日
定期支付的支付日期为每个月10日
使用自动支付

每个小时,你的应计费用是1元(0.001元 x 1000次请求)并通过你的可用额度进行支付。在第100个小时之后,你的可用额度将被全部扣减,此时你应该及时进行充值操作,否则在第101个小时之后,你的可用额度将为-1元,这将导致你的服务被中止,并且进入欠款状态。

使用自动支付和节省计划

每个小时,你的应计费用是0.6元(0.001元 x 0.6节省系数 x 1000次请求)并通过你的节省计划进行支付。在你消耗完节省计划的承诺金额后,每个小时的应计费用账单将改为从你的可用额度中进行支付。

使用定期支付

每个小时,你的应计费用是1元(0.001元 x 1000次请求),在下个月1日生成的账单规格如下:

账单金额:678元(0.001元 x 300000次请求 + 0.0009元 x 420000次请求)
应付金额:678元
账单状态:待支付
此时你的可用额度为-578元(100元可用额度 - 678元应付金额)。你可以在10日23:59:59前随时支付578元,否则在11日起, 你的服务被中止,并进入欠款状态。

使用定期支付和节省计划

第一个月,每个小时,你的应计费用是0.6元(0.001元 x 0.6节省系数 x 1000次请求)并通过节省计划进行支付,在下个月1日生成的账单内容如下:

账单金额:406.8元(0.001元 x 0.6节省系数 x 300000次请求 + 0.0009元 x 0.6节省系数 x 420000次请求)
应付金额:0元
账单状态:已结清
此时你不需要任何操作,你的可用额度为100元,剩余的承诺金额为93.2元(500元节省计划 - 406.8元账单金额)。

在第三个月的1日将生成第二个月的账单,账单内容如下:

账单金额:614.86元(0.001元 x 0.6节省系数 x 155334次请求 + 0.001元 x 144666次请求 + 0.0009元 x 420000次请求)
应付金额:521.66元(614.86元账单金额 - 93.2元节省计划)
账单状态:待支付
此时你的可用额度为-421.66元(100元可用额度 - 521.66元应付金额)。你可以在10日23:59:59前随时支付421.66元,否则在11日起,你的服务被中止,并进入欠款状态。

支付方式
我们提供多种支付方式。

支付宝:对于中国地区的用户,我们推荐使用支付宝进行支付。支持支付宝中绑定的信用卡、储蓄卡、余额以及花呗。
银行转帐:对于中国地区的企业开发者,我们支持使用银行转账进行支付。请注意,银行转账需要24-72小时的审核时间或以银行到账为准(如遇节假日可能会延后),无法做到实时支付。
信用卡:如果希望使用信用卡支付,请使用上述支付宝中绑定的信用卡进行支付。
欠款
如果账单未能在付款日完成支付,则进入欠款状态。此时你需要尽快完成欠款账单的支付。

警告: 在“欠款”状态下,和风天气开发服务将被暂停,如“欠款”状态持续30天,你的帐号将被冻结。

退款
标准订阅和高级订阅采用后付费模式,因此你无法对已经使用的服务申请退款。

对于充值到可用额度的费用,请参考提取可用额度。

对于其他一次性预付费购买的服务,在符合下列条件时,我们支持无理由退款:

还未开始使用
没有开具增值税发票
购买不超过60天
退款需要支付5%手续费,退款金额将退回到原支付渠道。如需要退款,请提交工单。

可用额度
可用额度是你帐号中可以使用的金额,用于支付账单费用。

注意: 每次创建新的标准订阅,可用额度必须大于等于10元。

对于自动付款的用户,你必须确保可用额度大于或等于0,否则你的服务将被中止。

对于定期付款的用户,你必须在约定的支付日期当天确保可用额度大于或等于0,否则你的服务将被中止。

增加可用额度
你可以使用多种支付方式增加可用额度。

每次增加可用额度的最小金额为0.01。当你存在待支付/欠款账单时,增加可用额度的最小金额为待支付/欠款金额,并且增加的可用额度将被立即用于支付待支付/欠款账单。

例如:当你有一个待支付账单,金额为123元,你选择增加200元的可用额度,此时将有123元用于支付账单,你的可用额度为200元 - 123元 = 77元。

提取可用额度
你可以随时将可用额度提取出来,但是需要符合下列条件:

可用额度大于1元
帐号内没有标准订阅或高级订阅的项目
没有欠款或待支付帐单
帐号未处于冻结状态
提取可用额度需要支付5%手续费,提取的金额将退回到原支付渠道。如需要提取可用额度,请提交工单。

增值税
对于中国大陆地区用户的购买,账单金额已经包含了增值税。如需要获取增值税发票,参考增值税发票。

对于其他国家或地区用户的购买,账单金额不包含所需要征收的任何税种。

暂停和冻结
当帐单状态为欠款的时候,你的和风天气服务将被暂停,你需要尽快增加可用额度用于支付欠款帐单。当欠款帐单的状态持续30天后,你的帐号将被冻结并且你仍然需要支付欠款账单,请参考帐号冻结。

按量计费定价

和风天气开发服务采用按量计费的定价模式,不需要提前预付大量资金,也不需要为用不到的服务买单,你只需要为你实际使用的部分付费即可。当你停止使用的时候,你不需要再支付任何费用。另外,按量计费的定价是阶梯价格,意味着你使用的越多,单次请求的价格越低。

本文将介绍按量计费的定价和规则。

计费标准
计价单位:一次请求。参考什么是一次请求。
账单周期:一个自然月
应计费用周期:一个小时
阶梯价累进周期:一个自然月
例如:用户每个月实时天气服务的请求量为100万次,那么该用户每个月标准订阅的成本为:(300000次请求 x 0.001元) + (700000次请求 x 0.0009元) = 930元

当你的请求量较为稳定时,可以购买节省计划大幅降低成本。

定价
GeoAPI
For 城市搜索 热门城市查询

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.0005
之后的70万次 CNY 0.00045
之后的400万次 CNY 0.00035
之后的500万次 CNY 0.00025
之后的4000万次 CNY 0.0002
超过5000万次 CNY 0.00015
天气预报
For 实时天气 每日天气预报 逐小时天气预报

*不含每日预报(10-30天)与每小时预报(72-168小时)

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
扩展天气
For 每日天气预报 逐小时天气预报

*仅每日预报(10-30天)以及每小时预报(72-168小时)

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.002
之后的70万次 CNY 0.0018
之后的400万次 CNY 0.0014
之后的500万次 CNY 0.001
之后的4000万次 CNY 0.0008
超过5000万次 CNY 0.0006
分钟预报
For 分钟级降水

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
格点天气
For 格点实时天气 格点每日天气预报 格点逐小时天气预报

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
预警
For 天气灾害预警 天气预警城市列表

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
天气指数
For 天气指数预报

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
空气质量
For 实时空气质量 空气质量每日预报

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
时光机
For 天气时光机 空气质量时光机

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.002
之后的70万次 CNY 0.0018
之后的400万次 CNY 0.0014
之后的500万次 CNY 0.001
之后的4000万次 CNY 0.0008
超过5000万次 CNY 0.0006
热带气旋(台风)
For 台风列表 台风实况和路径 台风预报

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.005
之后的70万次 CNY 0.004
之后的400万次 CNY 0.0035
之后的500万次 CNY 0.0025
之后的4000万次 CNY 0.002
超过5000万次 CNY 0.001
海洋数据
For 潮汐 潮流

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.005
之后的70万次 CNY 0.004
之后的400万次 CNY 0.0035
之后的500万次 CNY 0.0025
之后的4000万次 CNY 0.002
超过5000万次 CNY 0.001
太阳和月亮
For 日出日落 月升月落和月相 太阳高度角

请求量(每月) 价格(每次请求)
0-30万次 CNY 0.0001
之后的70万次 CNY 0.0009
之后的400万次 CNY 0.0007
之后的500万次 CNY 0.0005
之后的4000万次 CNY 0.0004
超过5000万次 CNY 0.0003
限制
按量计费定价仅支持标准订阅和高级订阅,免费订阅不需要支付费用也无法使用按量计费。

节省计划

节省计划用于抵扣标准订阅产生的费用,是针对数据请求量较多和较稳定的用户所推出的一项折扣计划,它不依赖于具体的数据,只需要用户承诺每年的消费金额就可以获取大量折扣。相比较标准按量计费,节省计划可以节省40%-70%的成本。

你可以理解为节省计划是办了一张VIP卡,使用这张卡的所有消费都会享受折扣价格。

用户可以自行预估每天或每年的数据请求量,根据这些预估数据计算每年的大致费用,然后购买对应的节省计划。节省计划按年计算,根据承诺的时长和金额,享受不同的折扣价格。

例如:用户承诺每年消费1000元,并预付了3年的费用,此时该用户的API/SDK请求费用以按量计费价格的4折计算,即请求一次实时天气数据的价格从0.001元降低到0.0004元。或者可以理解为,用户支付1000元,在未购买节省计划的情况下,可以请求实时天气约100万次;在购买3年期节省计划后,可以请求实时天气约250万次。

承诺金额
承诺金额是你承诺在一年内使用的金额,该金额将在1年内有效或消耗完毕后失效,参考有效期,同时在有效期内,所有标准订阅产生的费用均按照节省计划系数计算折扣。

承诺期数
承诺期数是你购买节省计划需要预付的总时长。承诺期数分为1年期和3年期,当购买1年期节省计划时,预付总费用=年承诺费用;当购买3年期节省计划时,预付总费用 = 3年 x 年承诺费用。

节省系数
根据你的承诺期限,节省计划提供了不同的节省系数。节省系数即为你在使用节省计划期间按量计费价格所享受的折扣。

例如:购买1年期节省计划后,实时天气的单次请求费用为: 0.001元 x 0.6节省系数 = 0.0006元

承诺期数 节省系数
1 年 0.6
3 年 0.4
购买
请访问控制台-财务与费用-节省计划,选择承诺的消费金额并购买。

价格测算
使用价格计算器可以快速的帮你计算所需要购买的节省计划。

有效期
节省计划中的承诺金额有效期为1年或在1年内消耗完毕。在节省计划到期后,如还有未使用的金额将作废处理,请参考下方的例子:

承诺期数=1年期
前提:在2022年3月20日购买了一份节省计划(1年期)

1年内使用完 1年内未使用完
在2022年12月30日23点,全部承诺金额使用完,从下一个小时开始的请求将不再享受节省计划折扣。 在2023年3月20日23点59分59秒时,节省计划内还有剩余承诺金额234元,则从2023年3月21日起,剩余的234元将作废无法再使用。
承诺期数=3年期
前提:在2022年3月20日购买了一份承诺金额为1000元的节省计划(3年期),总预付金额为1000元 x 3年 = 3000元。

1年内使用完 1年内未使用完
在2022年12月30日23点,1000元的承诺金额使用完,从下一个小时开始的请求将不再享受节省计划折扣。
从2023年3月21日起,可以继续使用下一期的承诺金额1000元,以此类推。 在2023年3月20日23点59分59秒时,第一期的承诺金额还有剩余承诺金额234元,则从2023年3月21日起,剩余的234元将作废无法再使用。
从2023年3月21日起,可以继续使用下一期的承诺金额1000元,以此类推。
生效
节省计划的生效时间为购买成功的当前小时。

例如: 你在2022年3月20日14点30分成功购买了一份节省计划,则在2022年3月20日14点开始的所有数据请求,按照节省系数计算和扣款。

折扣规则
节省计划按照对应节省系数进行计费,当节省计划过期或承诺金额消耗完毕后,不再享受折扣。

例如: 购买承诺金额为1000元的节省计划(1年期),节省系数为0.6,此时实时天气的单次请求价格为:0.001元 x 0.6节省系数 = 0.006元。在一年内,如已使用超过1000元,则之后实时天气的单次请求价格为:0.001元。

扣款顺序
购买节省计划的之后,标准订阅账单将优先使用承诺金额,如果承诺金额已经使用完毕,则将从可用额度中扣款,为了避免出现欠款而造成的服务中止,我们建议你及时关注账单金额并确保足够的可用额度。

如果该用户购买了多份节省计划,参考多份节省计划的说明。

多份节省计划
你可以购买多份节省计划,可以叠加使用,以满足更加灵活的使用。多份节省计划,均按照购买时间先后顺序进行扣减。如果用户购买的是不同承诺期数的节省计划,则按不同的节省系数计算。

例如:你在2022年3月20日购买了一份节省计划(3年期),并在5月31日又购买了一份节省计划(1年期),之后在10月25日第一份节省计划的承诺金额消耗完毕,那么在3月20日至10月25日之间将通过第一份节省计划进行标准订阅费用的支付,节省系数为0.4,在10月25日之后的节省系数为0.6,从2023年3月21日起,将继续使用第一份节省计划的承诺金额,节省系数为0.4。

升降级和续费
节省计划不支持升降级,但是你可以购买多份节省计划。如果在到期时需要对节省计划续费,只需要重新购买一份即可。

取消节省计划
节省计划一旦购买,不支持取消和退款。如有特殊情况,请提交工单。

增值税发票

对于中国地区的用户,和风天气开发服务的费用均已包含增值税,你可以在支付账单后申请开具增值税发票。我们支持开具增值税电子普通发票和增值税专用发票。

注意:请认真阅读本篇文档,了解我们如何向你开具增值税发票、增值税发票的类型、开票时间以及开票限制,必要时请将本篇文档发送给你的财务人员查看。

申请流程
访问控制台:

在左侧导航中选择财务与费用-增值税发票,点击发票信息卡片的“编辑”按钮,添加发票信息
点击开票金额卡片当“申请发票”按钮
选择你需要开具发票的账单,可以选择一个账单或多个账单合并开具发票,点击“下一步”按钮
选择增值税电子普通发票或增值税专用发票,检查发票信息,填写联系人信息,最后点击“申请发票”按钮
提示: 请务必与你的财务人员确认企业信息,建议复制粘贴企业信息,避免打字错误。

提示: 增值税专用发票仅限企业开发者申请。

充值金额的发票
对于充值金额,必须在消费后才可根据账单金额开具发票。消费指的是:

支付标准订阅账单
购买节省计划
支付其他待支付或欠款账单
购买其他服务或产品
对于上述第一项,标准订阅账单每个月5日前自动生成,因此在当月的标准订阅消费的金额在下个月生成账单后,可以根据账单金额开具发票。

例如:在2022年3月20日充值1000元用于支付标准订阅的费用,但此时你无法申请1000元的增值税发票。在4月1日生成标准订阅账单,账单金额为400元,此时你可以申请400元的发票。

不可开票金额
当出现下列情况时,你可能会产生不可开票金额。你所选择的账单金额将减去不可开票金额作为最终的开票总金额。

在2022年10月8日之前对充值金额开具了发票,但是还有剩余金额未消费的。例如:在2022年10月8日之前充值100元并开具了100元发票,但在2022年10月8日之后还剩余30元可用额度未使用,则此时不可开票金额为30元。
对于已开具发票的服务或产品进行了退款,退款金额将为不可开票金额。
税率
根据税务部门的政策,我们会调整税率,税率范围在0-3%之间,请以实际发票为准。

发票项目
研发和技术服务气象服务

发票格式
增值税电子普通发票为电子格式,我们提供PDF和OFD两种格式便于你使用,参考样例。

提示: 根据国家税务总局公告2020年第1号《关于增值税发票综合服务平台等事项的公告》,增值税电子普通发票采用电子签名代替发票专用章,其法律效力、基本用途、基本使用规定等与增值税普通发票相同。

增值税专用发票为纸质发票,参考样例。

提示: 增值税专用发票由国家税务总局北京市电子税务局代开,由于北京电子税务局代开发票系统的规则,发票中的收款人、复核人和开票人均为系统生成,无法变更,如对此有疑问,请拨打电话010-62212366核实。

送达和下载
对于增值税电子普通发票,在申请开票后,10个工作日内将发送到你的电子邮箱,你也可以在控制台 - 财务与费用 - 增值税发票中查看并下载你的发票。

对于增值税专用发票,我们将在每个自然月20日前后(如遇节假日顺延)统一开具并邮寄到你的地址,如你错过了这个日期,开票时间将顺延至下个月的20日前后,请耐心等待。

注意: 如果增值税专用发票的金额不足1000元的,需要你支付快递费用。

修改发票
在发票正式开具前,你可以随时取消发票申请以便修改信息:访问控制台 - 财务与费用 - 增值税发票,选择需要修改的发票,点击取消按钮。

如发票开具后出现错误或需要修改,请提交工单进行修改:

对于增值税电子普通发票,无论何种原因,都可以申请修改发票,无需额外费用,但每年度仅限修改3次。
对于增值税专用发票,如申请方原因需要修改发票的,每次修改需要自行承担邮寄发票的全部费用。每年度仅限修改3次。
提示: 请在开具发票完成后的12个月内提出修改申请,逾期不再受理。

限制
如有欠款状态的账单,无法申请发票,请先完成欠款账单的支付。
如果帐号被冻结,无法申请发票。
超过12个月的账单,无法申请发票。
增值税专用发票仅限企业开发者申请。
其他
如果你对发票有其他问题,请与你的商务专员联系或提交工单。


使用限制

注明来源

20221128-飞防公开课笔记

链接 https://uastc.dewx.net/course/275127?curriculumId=275127k6vlwv2h&isNeedLog=undefined

中国地理气候分区及作业节点

程忠义

中国地理气候分区

种植业受自然条件的影响,一般要求地形平坦、土壤肥沃、水源丰富,并且具有可供农作物生长需要的足够的热量、水分、光照等气候条件

中国整体地形

黑河–腾冲线

地形和海拔决定了当地适不适合种植以及适合种植哪种作物。平原地形适合种植业的开展,像河南省、山东省,小麦不仅品质好还产量高。
同时还决定了飞防好不好开展,例如云贵地区多山地地形,规模种植不好开展。

温度带决定了当地的耕种制度,一年能种几季

还有就是当地能种什么作物,例如小麦是喜温作物,放在炎热的江西、浙江等地就不适合。


青藏高原,垂直温度带 一年一熟
寒温带
中温带 一年一熟
暖温带 两年三熟 一年两熟
亚热带 一年两熟 一年三熟
热带 一年三熟


降水决定了当地是否适合种植,以及种植什么作物,例如水稻是喜水作物,适合种植在长江中下游,并不适合种植在缺水的甘肃地区。

作物分类与分布

水稻是喜水喜温作物,分为籼xian稻和粳jing稻。籼稻是基本型,适合种植在平均温度较高、降水良好的区域,如长江中下游、云贵等,粳稻是耐寒品种,主要分布在东北地区和南方高海拔地区。

小麦是喜温凉、耐寒耐旱的作物,适应性很强,全国冬小麦种植面积占 93% ,春小麦占7% 冬小麦主要在华北平原,淮河流域,春小麦主要集中在新疆,内蒙以及其他地区。

玉米是耐寒作物,东北地区,内蒙、陕西和山西普遍种植春玉米,一年一季;华北平原和秦淮流域普遍种植夏玉米,一年二季;西南地区和南方地区也有分布。

棉花主要分为细绒棉 为主,和长绒棉 ,新疆是主产区。

棉花种植打药作业次数多,不仅包括病虫害防治,还包括喷洒免打顶剂、脱叶剂

其他作物的分布

糖料作物 南蔗北甜

云南 广西 广东 福建产 甘蔗

东北地区 内蒙产甜菜

花生,主要集中在山东与河北

油菜花 主要集中在四川 湖北 江西 湖南 江苏等

各地区作物与作业节点

东北三省作物及作业节点

东三省都处在中温带,全部为一年一熟终止模式,主要种水稻 粳稻,春玉米 大豆

以水稻作业为例,5月水稻封闭作业,6-7月份以水稻病虫草害作业,8月份以杀虫杀菌作业为主。

东三省因为冬季温度低,虫害无法安全过冬,所以相对来说病虫害情况相对较轻,当耕地面积较大,所以作业效率非常高。

黑龙江是我国耕地面积最多的省份,粮食产量全国第一,单户种植规模大、农业机械化率高,飞防作业面积全国第一。

作业模式首选全自主作业

飞行打点是标配技能

地块较为规整,必须学会如何优化降落点问题。

如何实现电池优化使用

黄淮海平原,涵盖山东,河南、河北南部、陕西南部、山西南部、安徽背部、江苏背部,是中国最大的连片性平原,两年三熟制,主要以连种的方式中值动小麦和玉米,主要作业旺季在小麦 3 4 5 月,玉米 7 8 月,11-12 有少量除草作业

因为小麦种植面积大,作业时间比较统一,所以该区域一年主要作业集中在3 4 5 月,6月份小麦陆续收获,开始种植夏玉米,一直到10月份玉米收获,再次播种冬小麦形成循环。

河南地区飞防经验

河南除了西部洛阳、三门峡大部分处于华北平原,更低质量好,小麦产量高,但是是人口大省,人均耕地少,单户种植面积较小

作业模式可以选择全自主与AB 点

地块形式多种多样,应具备手动作业基本能力,

当地机井较多,注意安全

长江中下游地区,涵盖湖北 湖南,江西,安徽南部、江苏南部、浙江,是中国的主要水稻产区。
水稻的种植方式包括早稻、中稻、晚稻

中值一季稻的区域,作业节点非常不统一

因该区域的种植特点,每年的植保无人机作业最早于3月份开始,此时周边能存在油菜花,需注意漂移药害。需醋意避免高温作业,过量使用。

湖北省耕地面积5000万亩,但是人均耕地面积小,一半以上种植水稻,另外在襄阳与随州普遍种植小麦,油菜种植面积1千万亩

应充分掌握自主作业,AB点作业、手动作业

虾稻共作地区,应按照专家建议选择安全的药剂,

水稻小麦除草作业时,应避免对油菜产生漂移药害

新疆地区

新疆,被天山分割为北疆与南疆,因南北跨度较大,所以在农业也有一定差异,该地区为暖温带及中温带,降水量较少,所以其农业特点为灌溉农业,新疆耕地面积6000万亩,远不及黑龙江,但是因为该地区人口较少,种植面积较大,棉花作业频次高,是仅次于黑龙江的飞防大省

新疆耕地面积6000万亩,人均耕地面积3.1亩,在全国排名靠前,地方上普遍耕地较为分散,在兵团耕地则较为规整且规模较大

作业模式全自主为主,AB为辅

应掌握飞行打点技能,

新疆为少数民族聚集区,注意当地习俗

新疆棉花作业介绍

棉花种植到最终收获,基本会有4-5次杀虫杀菌作业,2次生长调节剂作业
2次脱叶剂作业,所以作业频次远高于其他作物

棉花脱叶剂作业,是全国最大规模的集中作业,

需要注意的是,棉花脱叶剂药液配制需严格按照二次稀释法完成,否则将可能造成药剂失效。

不同地区飞防作业经验


对作物造成药害

因为各种因素,对当前作物或周边作物造成药害

作物对于药剂剂量最为敏感的是除草剂,其次是杀菌剂 尤其是三唑类杀菌剂,对杀虫剂剂量则相对不敏感。如果不属性植保无人机的作业参数,行距设置过小造成重喷,就可能造成药害,所以必须熟悉所使用植保无人机其性能。

高温造成的药害

35 摄氏度 以上高温状态下作业,以下几个因素叠加亦可能造成药害

作物生理活动活跃

药剂活性较高

飞防药剂浓度较高

另外高温状态下作业,作业效果降低且容易产生农药中毒,所以应极力避免

零度以下作业,也常造成冬小麦药害事件发生

三环唑过量造成的药害

因为飞防用水量少,药剂浓度高,一些在自走式植保机械能够安全使用的药剂在飞防上并不一定安全,

小麦除草剂甲基二磺隆,无法在飞防上安全应用

一旦温度较高,剂量超标,其产生药害的可能性大为增加。
灭生性除草剂飘逸药害

草甘膦造成的药害

草甘膦药剂一旦飘逸到其他作物上势必会造成药害,所以应非常谨慎地对待灭生性除草剂飞防作业

选择性除草剂飘逸药害

小麦除草剂作业造成油菜受害

选择性除草剂对于目标作物相对安全,但是如果其漂移到其他作物上,而该作物恰恰在该除草剂的杀伤范围内,则会发生漂移药害

在遇到类似情况时应停止作业,待风力减少风向改变时在进行作业,并添加一定距离安全隔离带

药剂特性造成的飘移药害

丙环唑对西瓜造成药害

部分药剂其安全性不高,对部分作物安全,而对另外一部分作物则易产生药害,

如丙环唑在小麦、水稻上广泛应用,但是其对西瓜,葡萄、草莓安全性较低,不可在这些作物上使用飞防播撒该药剂

对养殖物造成毒害

任何药剂都有一定毒性,如在作业时药液飘逸到养殖区域,则有可能产生毒害

养殖龙虾的水稻田
植保队在养殖有虾蟹鱼 的稻田区域作业需采取多项措施保障用药安全,避免养殖物中毒

使用毒性低,安全性好的药剂

禁止使用阿维菌素,甲维盐等药剂

使用专用药箱,或者打虾田之前彻底清洗药箱,

如果存在药剂残留并且未清洗,易造成养植物中毒。

药剂飘逸导致鱼类大批死亡

杀虫剂作业易造成毒害,所以须观察作业区域下风向是否存在养殖

杀虫剂作业造成鱼塘所养殖锦鲤全部死亡,经济损失达到26万元

药剂飘移药害及毒害风险评估过程

风向 下风向有什么,药剂有什么风险,风险评估

中毒伤人事件

中毒是指作业不规范造成的农药中毒事件,涵盖植保无人机作业各个环节,伤人事故是指由于作业不规范或者意外事件造成的人身伤害事故

中毒风险- 农药选用环节

一旦使用高毒、剧毒农药,最容易产生中毒的环节就是运输阶段,这往往是几个因素共同导致的

使用了高毒农药

装车运输之前未彻底清洗药箱

选择了人机不分离的车型,且关闭了车窗

中毒风险 配药环节

配药过程应做到以下几点

穿戴合适的防护用品,包括口罩,眼睛,丁腈手套

处于药桶上风向

药剂缓慢倒入,避免飞溅

配药后,必须把手彻底清洗干净在接触身体其他部分

作业过程

作业过程中依然要

注意自身防护

处于上风向作业

与植保无人机保持6米以上安全距离,避免受到农药飘溅

另外,对于玉米,高粱等高杆作物,应禁止在作业完毕后进入作业区域,避免吸入性中毒

良好的防护措施

储存过程

植保无人机及设备应单独存放

存储过程需要做到以下几点

存储之前应清洗药箱,降低农药残留

通风,避免农药气味聚集

单独存放,禁止存储在卧室,避免人机共处一室

伤人风险 不规范操作

植保无人机具有一定破坏力

为避免自身受到植保无人机的伤害,应注意

时刻与植保无人机保持6米以上安全距离

在出现意外情况时,禁止抓握植保无人机任何部位,避免被打伤

禁止对头起飞

伤人风险-疲劳驾驶

现在的植保队大多是植保无人机操作手并兼职四级,其一天工作量几乎是满负荷运转,易产生疲劳驾驶,为做到行驶安全提供下列建议

中午务必休息,保持良好精神状态

避免超长时间飞防作业后,人处于极度疲乏的状态下上路行驶

作业区域内存在人员

为避免此类事故的发生,应严格遵守

提前清空作业区域内无关人员
如发现作业区域内存在人员应like停止作业

如发现即将撞击,可通过升高高度,打横滚及俯仰杆的方式避免撞击

如确实已经撞击,可操作摇杆进行内外吧字操作迅速锁死油门,降低撞击伤害

作业区域外的伤人风险

作业区域周边的伤人事故主要包括几个类似情况

在人流较多的道路上起降,与行人、车辆产生撞击

与围观的观众产生的撞击

植保无人机失控

作业人员操作失误,植保无人机飞向错误方向

操作手与地勤配合不默契,造成的撞击

严禁在马路上起降无人机

设备损失

因为使用或选择不当,造成植保无人机设备损坏或加速老化

维护不当

避免在阳光暴晒下充电

不当的维护或使用包括

连接插头没有维护或更换,插头发热或融头

充电总是在高温状态下进行,包括太阳暴晒 或电池使用完毕未冷却而直接使用,都会导致电池或者充电器寿命降低

在北方低温地区,直接将电池长期存储在低温地区,造成电池性能迅速下降

在长期存储前,未能对喷洒系统做多次的清洗,造成管路 水泵长时间受农药残留腐蚀

使用伪劣配件

部分植保队为贪图便宜而选择非原厂配件,其质量往往存在严重隐患,例如下图所展示的螺旋桨在飞行时从根部裂开,导致植保无人机在空中产生自旋 所幸未造成重大损失


植保无人机五大优势

效率高

安全性好

作物适应性好

地形适应性好

用水少

T16 植保无人机

遥控器
植保机系统
电池
药箱

植保无人机动力系统

电池
电调
电机
螺旋桨

植保无人机机身

脚架
机臂
套筒

药箱
滤网
液位计
电子流量计
水泵

喷嘴 XR11001VS

遥控器

植保无人机操作基础

摇杆模式

飞行注意事项

禁止在未锁紧套筒情况下起飞

禁止在未锁紧螺旋桨情况下起飞

飞行注意事项

避免在四周有遮挡区域或室内起飞

避免在高压线附近起飞 10m以上

机型介绍

多旋翼无人机基础知识

电机序号与旋转方向

电机旋转方向与类型

1 3 6 正桨
2 4 5 反桨

固定角度 不可调整

激活与使用

卫星定位技术 GNSS

D-RTK 移动站

植保无人机作业模式

  1. 手动作业

适用于小地块,效率较低,操作员工作强度高

  1. AB 点作业

适用于规整田块,自动化程度较高,部分区域需手动作业

  1. 自主作业

自动化作业,地形适应力好,操作人员工作量小

AB点作业注意事项

  1. 作业地应为长方形规整田块,且AB 点形成的航线需与边界平行,通过观察飞行器与田块边界距离检查航线是否与边界平行

  2. 作业时最后一条航线将与边界产生撞击,需提前切换到手动作业模式作业,避免重喷漏喷

  3. 地块规划

遥控器规划
植保机规划
RTK 测绘规划
二维正射规划

  1. 执行作业

航线生成

MG-1P 标定点与纠正偏移

为什么要添加标定点 并纠正偏移

怎样选取合适的标定点

标定点的选取应注意以下两点

  1. 标定点周围场地开阔,便于放置飞机和获取卫星信号
  2. 应该选择一个长期固定存在且易于辨识的参照物作为标定点

如田块旁的水泥桩,井盖,地钉,地面喷漆或其他明显的标记物等

怎样添加标定点

在规划田块过程中,手持遥控器,走到作业田外

选一个具有标识性的参照物作为标定点
确定标定点位置后点击 添加标定点

点击结束测量,点击,保存地块,命名作业任务选择对象

怎样纠正偏移

打开任务列表,选择已规划的作业任务
将飞行器放置在标定点所示位置,点击 纠正偏移

点击纠正到飞行器位置,点击确定

纠正偏移完成之后,点击执行,开始执行任务

大疆农服的使用

订单上传
地块上传


植保无人机的

法律法规

V 分类等级的驾驶员执照,或经农业农村部等部门规定的由符合资质要求的植保无人机生产企业自主负责的植保无人机操作人员培训考核

民用无人驾驶航空器实名制登记管理规定

民用无人驾驶器经营性飞行活动管理办法

植保无人机安全操作规范

植保无人机安全用药规范

飞行安全

用药安全

购买植保产品

存储与运输
飞防施药前
飞防施药时
飞防施药后

2016年陕西渭南 大规模玉米黏虫灾害,玉米叶片在几小时内被啃食干净,不及时放置会直接造成作物减产甚至绝产

病害概念及分类

生物性病源

真菌 细菌 病毒,病源线虫、寄生性种子植物

非生物性病原

各种不良环境条件,如不宜的温度,光照,水分,营养等条件

  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~