老规矩先上图,先来个直观感受
30000个点就很卡了
上一篇介绍了纯canvas绘制风场(传送门),这里就简单记录下cesium集成风场的相关问题吧。
原理相关的就不多说了,可以看之前的介绍,跟cesium结合最核心的就是风场粒子的坐标转换。根据风场范围生成随机点,并判断当前生成点是否处于地球背面,如果在背面就重新生成。
风场粒子动态更新时,在根据前进的速度,将经纬度转换成屏幕坐标就可以了
原理了解了,再移植到其他框架还是很简单的,也不再多说了。
项目集成的时候需要注意以下几个问题:
1、因为是球体,所以东西半球相交位置会有断层现象,这个可以在粒子位置计算的时候判断解决,示例中没考虑
2、如果能看到球的边界,风场渲染是没有问题的,如果比例缩放到城市级别,旋转地球会出现问题,因为我根据extent计算的风场,旋转后,extent无法正确获取,这个可以自己看看怎么解决
3、如果想做百度echart风场中那种颜色渐变(风速大的颜色深,风速小的地方颜色浅),可以根据风速值渲染不同颜色,这个示例中也没提供,可以自行研究,很好实现
这里提供了示例demo下载,可以根据自己需求移植到自己项目中,因为是从项目里面单独剥离出来的,估计有的地方考虑的不是特别细,自行修改吧
忘记贴代码连接了