风场可视化(二):cesium风场集成

老规矩先上图,先来个直观感受

30000个点就很卡了

上一篇介绍了纯canvas绘制风场(传送门),这里就简单记录下cesium集成风场的相关问题吧。

原理相关的就不多说了,可以看之前的介绍,跟cesium结合最核心的就是风场粒子的坐标转换。根据风场范围生成随机点,并判断当前生成点是否处于地球背面,如果在背面就重新生成。

风场粒子动态更新时,在根据前进的速度,将经纬度转换成屏幕坐标就可以了

原理了解了,再移植到其他框架还是很简单的,也不再多说了。

项目集成的时候需要注意以下几个问题:

1、因为是球体,所以东西半球相交位置会有断层现象,这个可以在粒子位置计算的时候判断解决,示例中没考虑

2、如果能看到球的边界,风场渲染是没有问题的,如果比例缩放到城市级别,旋转地球会出现问题,因为我根据extent计算的风场,旋转后,extent无法正确获取,这个可以自己看看怎么解决

3、如果想做百度echart风场中那种颜色渐变(风速大的颜色深,风速小的地方颜色浅),可以根据风速值渲染不同颜色,这个示例中也没提供,可以自行研究,很好实现

这里提供了示例demo下载,可以根据自己需求移植到自己项目中,因为是从项目里面单独剥离出来的,估计有的地方考虑的不是特别细,自行修改吧

忘记贴代码连接了

demo下载

  • 14
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
Cesium是一种用于构建虚拟地球和地球相关应用程序的开源JavaScript库。它可以加载风场粒子数据,实现风场效果的展示。 首先,我们需要准备一份包含风场粒子数据的文件。这份数据将包含风的速度和方向信息。可以使用风场模型或者气象数据来生成这些数据。数据文件可以是像JSON或CSV这样的常用格式。 接下来,在我们的应用程序中,通过引入cesium库的Javascript文件,我们可以初始化Cesium的场景并加载地球模型。然后,我们需要使用Cesium提供的工具和函数来加载风场粒子数据。 首先,我们需要创建一个Cesium的实体(Entity)来表示风场粒子。可以使用Cesium提供的基本图元(Primitive)来实现这一点,如点、线或粒子系统。通过设置合适的颜色、尺寸和位置,可以使风场粒子在场景中可见。 接着,我们需要将风场粒子数据关联到Cesium实体上。可以通过访问数据文件并将其解析为可用的数据结构,然后将这些数据结构映射到风场粒子的属性上。 最后,我们需要将风场粒子添加到Cesium的场景中。可以使用Cesium提供的图元集合功能将实体添加到场景中,并设置其相应的位置和其他属性。 通过这些步骤,我们就可以成功加载风场粒子,实现风向和风速的可视化展示。用户可以通过交互操作地球场景,观察风场粒子在地球表面上的分布和变化,增进对风场的理解和认识。 总之,通过使用Cesium库,我们可以很方便地加载风场粒子数据,实现风场效果的展示,为气象相关应用和地理信息系统提供有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值