我编写了加入(联合)几何的代码。我把它包装成Java8流Collector。在其中它只使用Geometry#union来结合几何:
geometries[0] = geometries[0].union(geometry);
不幸的是,它运作得相当慢。
使用prepared geometry或其他一些黑客可以加快速度吗?
更新
它们的规模差异很大。
答案 0 :(得分:2)
答案 1 :(得分:1)
你陈述的方法会很慢,因为它会将每个几何图形按顺序合并到结果中,每个联合可能会越来越大。
一元联合使用空间索引来聚类几何,并按层次合并它们,从而提供更好的性能。不幸的是,这可能不适用于Java流的顺序性。
PreparedGeometry没有为union等叠加操作提供任何加速。