抓取*气象台-台风报文数据

抓取*气象台-台风报文


地图上渲染的台风路径数据,其实来源于台风报文数据,实现流程为:(1)实时抓取解析*气象台台风报文中的文字信息
(2)java后台程序解析文件信息,将其写入到数据库中
(3)web端接口形式查询数据,展示到界面上

抓取*气象台-台风报文数据

台风模块:Typhoon为前缀TyphoonController
参考网址:http://typhoon.nmc.cn/web.html
抓取*气象台-台风报文数据

1.*气象台-台风报文地址说明

http://www.nmc.cn/publish/typhoon/message.html
抓取*气象台-台风报文数据

2.台风报文含义解析

*气象台数据读取(获取报文信息存储的web地址):
http://www.nmc.cn/f/rest/getContent?dataId=SEVP_NMC_TCMO_SFER_ETCT_ACHN_L88_P9_20190805142900000(最后为时间是在实时变化的)
F12打开调试器network,选择一个时间,network中会增加一条调用记录,则为json存储的地址。
抓取*气象台-台风报文数据
右键在新的tab中打开,则可查看到具体的报文信息:
抓取*气象台-台风报文数据

ZCZC
WTPQ20 BABJ 050600
SUBJECTIVE FORECAST
STS FRANCISCO 1908 (1908) INITIAL TIME 050600 UTC
00HR 30.8N 134.5E 980HPA 30M/S
30KTS WINDS 250KM NORTHEAST
250KM SOUTHEAST
250KM SOUTHWEST
280KM NORTHWEST
50KTS WINDS 50KM NORTHEAST
50KM SOUTHEAST
50KM SOUTHWEST
50KM NORTHWEST
MOVE WNW 27KM/H
P+12HR 31.8N 131.3E 980HPA 30M/S
P+24HR 33.7N 129.2E 985HPA 25M/S
P+36HR 35.8N 128.1E 988HPA 23M/S
P+48HR 38.2N 128.6E 990HPA 20M/S
P+60HR 39.9N 130.8E 995HPA 18M/S
P+72HR 41.3N 134.4E 995HPA 18M/S
P+96HR 42.7N 144.0E 996HPA 16M/S=
NNNN

重点:以上面的报文为例,对其含义进行解析:
一、CMA台风报文——台风预测报文
例:
ZCZC ----------------报文开头,貌似无意义
WTPQ20 BABJ 260900 ----------------WTPQ指报文类型,20指分析员来着(这些都不是重点);BABJ指机构名,这里指NMC/CMA(*气象台);260900指发报时间(然而NMC在这里干脆用作生效时间),26日UTC时间9时。20应该就是channel,第一位数表示报文种类(如WTPQ20是三天预报,WTPQ30就是五天预报),第二位是序数,用于区分同时存在的TC(WTPQ20 21 22)或循环使用(WTNT21 22 23 24 25)
SUBJECTIVE FORECAST ----------------进一步说明报文内容——主观预测
STS FRANCISCO 1908 (1908) INITIAL TIME 050600 UTC ----------------TD:台风等级;FRANCISCO 1908 (1908):台风名称及其编号; INITIAL TIME:起报时间
TC: 热带气旋(tropical cyclone)
TD :热带低压(tropical depression)
TS :热带风暴(tropical storm)
STS:强热带风暴(severe tropical storm)
TY: 台风(typhoon)
STY: 强台风(severe typhoon)
SuperTY :超强台风(super typhoon)

抓取*气象台-台风报文数据

抓取*气象台-台风报文数据

30KTS WINDS代表7级风圈,50KTS WINDS代表10级风圈,64KTS WINDS代表12级风圈。
00HR 18.9N 114.2E 1002HPA 12M/S ----------------这里说明了台风初始数据(当前位置、气压、风速)
MOVE NNW 18KM/H ----------------台风目前移速(18KM/H)
P+12HR 20.5N 113.1E 1000HPA 14M/S -----------------12小时后位置与强度
P+24HR 22.5N 112.6E 1002HPA 12M/S= ------------------24小时后位置与强度
NNNN ------------------小尾巴,貌似无意义

界面展示内容与台风报文的关系梳理截图:
抓取*气象台-台风报文数据
抓取*气象台-台风报文数据
抓取*气象台-台风报文数据
抓取*气象台-台风报文数据

3.台风报文地址-时间分析

抓取*气象台-台风报文数据

http://www.nmc.cn/f/rest/getContent?dataId=SEVP_NMC_TCMO_SFER_ETCT_ACHN_L88_P9_20190804145600000
http://www.nmc.cn/f/rest/getContent?dataId=SEVP_NMC_TCMO_SFER_ETCT_ACHN_L88_P9_20190804170700000
http://www.nmc.cn/f/rest/getContent?dataId=SEVP_NMC_TCMO_SFER_ETCT_ACHN_L88_P9_20190804170800000

分析结论:

前面地址相同,只是时间信息不同,时间间隔上没有规律,因此后台抓取的时候可以在指定时间段内按照每分钟去取数据,判断地址中的信息是否有效,从而实现数据的实施抓取。

4.台风命名-台风名称表

科普一哈:台风的名字是固定的,在台风来之前,名字就已经由沿海的几个国家组织取好了。一般不进行修改,偶尔也会有修改的情况,一般台风对国家经济造成巨大损失之类的时候,台风的名字就会被删除,重新取一个名字进行代替。名称表格如下获取(开发中就是将以下的表格存储到数据库中,读取到报文的时候,将报文中的英文名称与中文名称表进行匹配,就得到中文名字了。):
抓取*气象台-台风报文数据

5.各种台风有关的报文解读指南

抓取*气象台-台风报文数据
一、CMA台风报文——台风预测报文
例:
ZCZC ----------------报文开头,貌似无意义
WTPQ20 BABJ 260900 ----------------WTPQ指报文类型,20指分析员来着(这些都不是重点);BABJ指机构名,这里指NMC/CMA(*气象台);260900指发报时间(然而NMC在这里干脆用作生效时间),26日UTC时间9时。20应该就是channel,第一位数表示报文种类(如WTPQ20是三天预报,WTPQ30就是五天预报),第二位是序数,用于区分同时存在的TC(WTPQ20 21 22)或循环使用(WTNT21 22 23 24 25)
SUBJECTIVE FORECAST ----------------进一步说明报文内容——主观预测
TD 01 INITIAL TIME 260600 UTC ----------------TD:台风等级;01:编号; INITIAL TIME:起报时间
30KTS WINDS代表7级风圈,50KTS WINDS代表10级风圈,64KTS WINDS代表12级风圈。
00HR 18.9N 114.2E 1002HPA 12M/S ----------------这里说明了台风初始数据(当前位置、气压、风速)
MOVE NNW 18KM/H ----------------台风目前移速(18KM/H)
P+12HR 20.5N 113.1E 1000HPA 14M/S -----------------12小时后位置与强度
P+24HR 22.5N 112.6E 1002HPA 12M/S= ------------------24小时后位置与强度
NNNN ------------------小尾巴,貌似无意义

二、CMA台风报文——卫星云图分析报文
注:该报文当台风在48小时警戒线之外时仅在每天北京时间2时、8时、14时、20时发出,一天四次;而当台风进入48小时警戒线,改为一天8次,即在原每次发报时间后3小时加发一报。
例:

ZCZC --------------------同上
TCPQ40 BABJ 130300 --------------------TCPQ指卫星云图分析报文,其余同上
CCAA 13030 99398 11165 --------------------CCAA也是通用格式,不用理睬;13030重复上一行的发报时间;99398 11165亦为固定格式。
MELOR 27122 11297 11244 245// 93006= --------------------下面是重点!MELOR当然是台风茉莉的名称;27122需分开解读,27指台风茉莉的编号,122指台风中心纬度(北纬12.2°);11297则无视开头的1,读取为1297,意味着台风中心经度(东经129.7°);11244得分开读取,首先无视开头的1,然后下一位1指台风中心定位主观精确度(学过德法的同学都知道),下一位2指台风CDO平均直径(这个貌似不靠谱,单位纬距),然后第一个4指台风24小时内强度变化,第二个4则表示台风强度主观精度,两者单位我还不清楚,不过这其实也只是形式;245无视开头的2,读取为45,意为台风当前CI值为4.5;//是固定格式,无意义;然后忽略第一个9,30指台风目前移动方向(300°,由正北开始顺时针计算);06指台风当前移速(单位貌似是KT,这些看起来都有些失真,仅供参考)。
NNNN ------------------------同上,无意义。

三、JMA台风警报报文(超简单!)
依旧拿茉莉当例子
WTPQ50 RJTD 130600 ---------------RJTD指JMA,其余同上。
RSMC TROPICAL CYCLONE ADVISORY ---------------RSMC:指JMA是区域专业气象中心;后面的英文指台风报告(都是格式啦)
NAME TY 1527 MELOR (1527) ---------------也是格式,一看就懂吧。

ANALYSIS ---------------指分析,仍旧是格式。

PSTN 130600UTC 12.3N 129.1E GOOD ----------------PSTN貌似是Position的缩写,目前台风位置(经纬度);GOOD表示定位主观精准度,和德法的one to six差不多,由高到低依次为GOOD、FAIR、POOR。

MOVE WNW 12KT ----------------移向移速,更不用解释。
PRES 955HPA ----------------PRES是pressure的缩写,气压。
MXWD 080KT -----------------最大风速(指十分钟最大平均风速),更甭说了。

GUST 115KT -----------------最大阵风。

50KT 70NM -----------------十级风圈半径(海里)

30KT 150NM -----------------七级风圈半径(海里)

FORECAST -----------------以下是预报。

24HF 140600UTC 12.8N 125.0E 70NM 70% -----------------24小时后(14日06UTC)的经纬度;70NM 70%指70%概率圈半径为70海里。
MOVE W 10KT -----------------24小时后移向移速
PRES 940HPA -----------------届时气压

MXWD 090KT -----------------届时最大风速

GUST 130KT -----------------届时最大阵风

48HF 150600UTC 13.4N 121.4E 110NM 70% -----------------之后都一样。

MOVE W 09KT

PRES 965HPA

MXWD 070KT

GUST 100KT

72HF 160600UTC 13.6N 120.1E 160NM 70%

MOVE W SLOWLY

PRES 975HPA

MXWD 060KT

GUST 085KT

96HF 170600UTC 11.7N 119.0E 200NM 70%

MOVE SSW SLOWLY

120HF 180600UTC 08.8N 114.3E 260NM 70%

MOVE WSW 14KT =

四、接下来是JMA模拟器(貌似是数值还是啥来着)
https://tieba.baidu.com/p/4579661564?red_tag=2698572922

上一篇:Python递归算法实现汉诺塔


下一篇:右值引用、移动构造函数和move