JTS中的联合几何更快?

时间:2017-06-01 12:22:14

标签: java optimization jts set-union

我编写了加入(联合)几何的代码。我把它包装成Java8流Collector。在其中它只使用Geometry#union来结合几何:

geometries[0] = geometries[0].union(geometry);

不幸的是,它运作得相当慢。

使用prepared geometry或其他一些黑客可以加快速度吗?

更新

几何图形如下:enter image description here

它们的规模差异很大。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

你陈述的方法会很慢,因为它会将每个几何图形按顺序合并到结果中,每个联合可能会越来越大。

一元联合使用空间索引来聚类几何,并按层次合并它们,从而提供更好的性能。不幸的是,这可能不适用于Java流的顺序性。

PreparedGeometry没有为union等叠加操作提供任何加速。