gpt4 book ai didi

java - World Wind 高效渲染大量多边形

转载 作者:行者123 更新时间:2023-11-30 08:53:08 25 4
gpt4 key购买 nike

我有大量的多边形,我想在世界风中渲染它们。我也是这样使用他们的 Polygon 类的:

        ShapeAttributes normalAttributes = new BasicShapeAttributes();

normalAttributes.setInteriorMaterial(Material.YELLOW);
normalAttributes.setOutlineWidth(2);
normalAttributes.setOutlineOpacity(0.5);
normalAttributes.setDrawInterior(true);
normalAttributes.setDrawInterior(true);

//define the coordinates position
ArrayList<Position> positions = new ArrayList<Position>();
positions.add(Position.fromDegrees(52, 10, 5e4));
positions.add(Position.fromDegrees(55, 11, 5e4));
positions.add(Position.fromDegrees(55, 11, 5e4));
positions.add(Position.fromDegrees(52, 14, 5e4));
positions.add(Position.fromDegrees(52, 10, 5e4));

Polygon poly = new Polygon(positions);

它适用于小型数据集,但当多边形数量增加(~45k)时,它会耗尽内存(4GB),或者对于较小的数量运行缓慢。有人可以建议一些技术来有效地呈现如此大的数据集。谢谢,

最佳答案

可能是需要简化多边形的点数。一种方法是使用 Ramer-Douglas-Peucker algorithm .使用它,您可以大大减少多边形内的点数,同时保持其形状。

此算法有许多可用的实现,具体取决于许可,包括 simplify-java (MIT licence) .

关于java - World Wind 高效渲染大量多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29890766/

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