gpt4 book ai didi

cesiumjs - 更新铯中的实体

转载 作者:行者123 更新时间:2023-12-04 18:03:25 25 4
gpt4 key购买 nike

我有一些实体,它们的位置是使用 CallbackProperty 函数设置的。

cesium.renderPolygon = function(mapContext, polygon, existingEntity) {
var p;
if (existingEntity) {
p = existingEntity;
} else {
var polOpts = getStyleOptions(polygon.style);
// function for getting location
polygon.getHierarachy = new Cesium.CallbackProperty(function(time, result) {
var hierarchy = [];
for (var i = 0; i < polygon.coordinates.length; i++) {
var coordinate = polygon.coordinates[i];
hierarchy.push(Cesium.Cartesian3.fromDegrees(coordinate.longitude, coordinate.latitude, coordinate.altitude));
}
return hierarchy;
}, false);

polOpts.hierarchy = polygon.getHierarachy;

p = mapContext.entities.add({
name: polygon.name,
polygon: polOpts
});
}
return p;
};

如果我添加单个实体,它似乎效果很好。当我添加更多时,会有延迟(1-3 秒),然后所有实体都不会很好地更新。看起来真的很糟糕。

有没有办法限制更新实体的次数。我一直在阅读 Cesium 文档,但找不到任何相关内容。

或者是否有更好的方法来动态和一致地更新实体?

最佳答案

Cesium 指南声称 Entity API 能够提供灵活、高性能的可视化,同时公开一致、易于学习且易于使用的界面。我的经验告诉你,从铯之外进行更新的速度更快。您还可以利用 EntitiCollection ( https://cesiumjs.org/Cesium/Build/Documentation/EntityCollection.html?classFilter=EntityCol ) getByID、suspendEvents 和 removeEvents 来安排 cesium 仅在您准备好时更新。我们能够以这种方式每 200 毫秒更新 1000 个实体,而不会影响性能。我们发现,如果您想要更好的结果(例如每 200 毫秒 10k 个实体),您将需要实现自己的着色器。

关于cesiumjs - 更新铯中的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com