如何使用铯中的可用性间隔定义多边形实体



我正在定义一个真正巨大的多边形,它使用惯性参考系改变其位置和形状。

首先,我试图定义一组CZML多边形,每个多边形都有一个可用性及其坐标,如";加利福尼亚";对象,但这超出了最大内存限制,并阻塞了浏览器,最终阻塞了计算机。然后,我让它只使用CZML中的一个多边形来工作,它提供了一个带有间隔和多边形形状坐标的列表,比如";dynamicPolygon";在相同的沙堡示例中。

现在我正试图将CZML实现更改为使用实体,但实体文档允许使用PolygonGraphics,该图形允许使用Property或PolygonHierarchy来配置形状,我不知道如何做到这一点;dynamicPolygon";使用实体。

您可以在层次结构构造函数选项中使用CallbackProperty(即Property的一种类型(。内存不应该有问题,因为只有一个对象,并且位置是动态计算的。您也可以使用类似TimeIntervalCollectionProperty的集合,然后询问特定时间的值。

尝试在Hello World铯沙堡中添加下一个代码片段:

viewer.entities.add({
id: "dynamicPolygon",
name: "dynamicPolygon",
polygon: new Cesium.PolygonGraphics({
hierarchy: new Cesium.CallbackProperty(function (time, result) {
var n = time.secondsOfDay%10;
result = new Cesium.PolygonHierarchy([
Cesium.Cartesian3.fromDegrees(2*n, n),
Cesium.Cartesian3.fromDegrees(-2*n, n),
Cesium.Cartesian3.fromDegrees(-2*n, -n),
Cesium.Cartesian3.fromDegrees(2*n, -n)
]);
return result;
}, false),
material: Cesium.Color.WHITE
})
});

最新更新