/ol-meteo

OpenLayers 仿 Windy 气象可视化

Primary LanguageVue

ol-meteo

OpenLayers 仿 Windy 气象可视化。Fork from ccmostmosthandsome/olMeteo

效果图

效果图

思路

  1. 使用 Python 将气象格点数据转换成灰度图
    • 首先获取安徽省范围的四个顶点的经纬度,确定数据与渲染范围;
    • 从地图左上角开始,每隔 11km 取一个点,取完一行就换行,获取该点的气象数据;
    • 根据本项目的[111.5, 29.3, 123.8, 34.8]范围,可以得到 55*29 的矩阵数据;
    • 使用 Python 对数据进行超分辨率处理,得到一个 440*232 的矩阵数据
  2. 前端处理矩阵数据,渲染上色
    • 将矩阵 txt 数据转成 Float32Array 数组;
    • 使用 OpenLayers 的 canvasFunction 方法,将视图上点的位置坐标转成经纬度;
    • 考虑到视图的范围[111.5, 29.3, 123.8, 34.8],将经纬度转换成栅格坐标;
    • 获取周围四个点的坐标,利用双线性插值算法计算出当前经纬度的气象要素值;
    • 将灰度值映射到设定好的颜色数组中,并绘制到地图图层上

运行

pnpm install

pnpm dev

参考