简介
@michaelmccracken/get-metar
是一个 npm 包,可以获取全球各个机场的实时天气数据,包括温度、天气状况、风向等信息。该包基于 METAR 报文数据解析,提供了简单易用的 API 接口,可在前端应用中快速集成,为用户展示实时的航空气象信息。
安装
使用 npm 安装 @michaelmccracken/get-metar
:
npm install @michaelmccracken/get-metar
使用方式
获取机场天气数据
调用 getWeatherData
函数获取指定机场的天气数据,其参数为机场代码(ICAO 码)。例如,获取北京首都国际机场 (ZBAA) 的天气数据,代码如下:
const { getWeatherData } = require("@michaelmccracken/get-metar"); getWeatherData("ZBAA").then((data) => console.log(data));
返回数据示例:
-- -------------------- ---- ------- - ---- ----- ------- -------- ---- ----------- ---------- --- ------ ------ ------- ----- ------- -------- ------- ----- ----------- ----- - ---------- --- ------ -- ----- ---- -- ----------- - --------- ---- ---------- ---- -- ------------------- - - ------- ------ --------- ----- ------ ------ -- - ------- ----- --------- ----- ------ ------ - -- -------- - - ------------ ------ ------ ---------- ---- ---------- ----- ----- ---- - -- ------- - - --------- ---- ------------------- ----- ----- ----- -- - --------- ----- ------------------- ----- ----- ----- - -- ------------ - --------- --- --------- -- -- --------- - ------ ----- ------ ------- - -
解析 METAR 报文
调用 parseMETAR
函数解析 METAR 报文,其参数为报文文本,代码如下:
const { parseMETAR } = require("@michaelmccracken/get-metar"); const raw = "ZBAA 061500Z 06007MPS 0250 R36L/P2000N R18/P2000N +SN SCT004 OVC010 M06/M07 Q1011 NOSIG"; const data = parseMETAR(raw); console.log(data);
返回数据示例同上。
异常处理
如果指定的机场没有天气数据或者网络请求超时等异常情况,函数将会返回一个 Error 对象,其中包含异常信息,可根据具体情况进行处理。例如:
getWeatherData("xxxxx").catch((error) => console.log(`Error: ${error.message}`));
会输出 Error: Request failed with status code 404
。
结语
@michaelmccracken/get-metar
不仅可以提供天气数据,同时还可以作为了解 METAR 报文格式和处理数据解析方式的参考资料。在使用时,建议深入了解相关知识,如机场代码、气象能见度、风向风速等基础概念,并参照官方文档进行开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/90135