Skip to content

lzuniujp08/wind-layer

 
 

Repository files navigation

wind-layer

a openlayers extension to windjs

Build Status NPM downloads JS gzip size Npm package GitHub stars GitHub license

下载

git clone https://github.com/sakitam-fdd/wind-layer.git
npm install
npm run dev
npm run build

安装

npm安装

npm install wind-layer --save
import WindLayer from 'wind-layer'

cdn

目前可通过 unpkg.com / jsdelivr 获取最新版本的资源。

// jsdelivr (jsdelivr由于缓存原因最好锁定版本号,否则可能会出现意料之外的问题)
https://cdn.jsdelivr.net/npm/wind-layer@0.0.4/dist/windLayer.js
https://cdn.jsdelivr.net/npm/wind-layer@0.0.4/dist/windLayer.min.js
// npm
https://unpkg.com/wind-layer/dist/windLayer.js
https://unpkg.com/wind-layer/dist/windLayer.min.js

示例

如何获取数据

天气数据由全球预报系统(GFS)生成, 由美国国家气象局管理。 预测每天产生四次,并可用于 从NOMADS下载。 这些文件位于GRIB2 格式并包含超过300条记录。 我们只需要这些记录中的一小部分就可以在特定的等压线上可视化风资料。 下面的命令下载 1000 hPa风向量,并使用grib2json将它们转换为JSON格式。

YYYYMMDD=<a date, for example: 20140101>
curl "http://nomads.ncep.noaa.gov/cgi-bin/filter_gfs.pl?file=gfs.t00z.pgrb2.1p00.f000&lev_10_m_above_ground=on&var_UGRD=on&var_VGRD=on&dir=%2Fgfs.${YYYYMMDD}00" -o gfs.t00z.pgrb2.1p00.f000
grib2json -d -n -o current-wind-surface-level-gfs-1.0.json gfs.t00z.pgrb2.1p00.f000
cp current-wind-surface-level-gfs-1.0.json <earth-git-repository>/public/data/weather/current

使用node服务获取数据

默认运行在3000端口, 使用koa2构建。 目前仅抓取少量数据, 全部数据数据量过大会造成抓取时间过长和转换失败。

npm run dev:server // 调试环境启动服务
npm run prd:server // 部署环境启动服务

目前共暴露7个接口

url params desc
autofetch null 无需参数,开启自动抓取程序,默认30分钟抓取一次数据源
stopautofetch null 停止自动抓取程序
getdata Object (目前只支持time 参数,时间戳) 获取json数据,存在转换过的直接返回,若只存在元数据则转换后返回,若元数据也不存在则抓取转换后再响应
gribdata Object (目前只支持time 参数,时间戳) 获取grib2数据(强制抓取数据)
getSourceTree null 无需参数,获取抓取的数据源 grib2 源数据。返回一个list,包含文件名和服务器地址。
getParseTree null 无需参数,获取转换后的 json 数据。返回一个list,包含文件名和服务器地址。
getDataByFileName { filename } 通过文件名请求 json 数据,文件名可为源数据文件和json文件名

Resources

About

🎏 🚀 wind-layer | a openlayers extension to windjs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.0%
  • HTML 3.0%