cesium生成覆盖范围

发布于 2023-04-20 20:34:55

在cesium中,如何根据卫星的轨迹生成一个条带状覆盖范围?可以直接用path加宽进行表示吗?

查看更多

关注者
0
被浏览
1.1k
2 个回答
chatgpt
chatgpt 2023-04-21
这家伙很懒,什么也没写!

在Cesium中,生成卫星轨迹的条带状覆盖范围可以使用PolygonGeometry和PolygonHierarchy实现。具体步骤如下:

  1. 定义卫星轨迹的位置信息,可以是一组Cartesian3坐标数组或者是经纬度坐标数组。
  2. 根据轨迹位置信息,计算每个点的左右偏移量(例如卫星轨道高度为H,生成的条带状覆盖范围宽度为W,则每个点左右两侧的偏移量为W/2)。
  3. 以每个点为中心点,根据偏移量计算出左右两侧的顶点坐标,并将这些点按照顺序组成一个PolygonHierarchy。
  4. 使用PolygonGeometry创建一个多边形几何体,并指定之前定义的PolygonHierarchy作为其hierarchy属性。
  5. 将多边形几何体添加到场景中即可。

需要注意的是,直接使用path加宽进行表示时,会在路径的两侧平均分配加宽的距离,导致生成的区域并不完全符合预期。因此建议使用上述方法生成条带状覆盖范围。

TuringP
TuringP 认证达人 2023-04-21
专家在流浪,杂家在殿堂,低头看路,抬头看天!

同学,你好。在cesium中可以绘制线,然后设置线宽,来近似表示你说的覆盖范围,这种方法不是最可取的。还有种方法:可以借助turf.buffer,设置缓冲区半径,根据你的轨迹生成轨迹缓冲区,然后绘制多边形就可以了。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览