JTS(java拓扑套件)voronoi图

时间:2015-07-03 19:40:20

标签: java voronoi jts

实施一个非常天真的图片镶嵌后,我去寻找更快的东西,因为我的实施需要花费几秒钟的4位数网站,看着周围的jts似乎已经足够了但是我已经用了一段时间来解决它所以我决定来这里问一下,我有一张图片,我想用voronoi图进行细分,但是一旦我设置了VoronoiDiagramBuilder(对我来说)正确的参数,很多意想不到的事情都会发生。

VoronoiDiagramBuilder voronoi=new VoronoiDiagramBuilder();
    voronoi.setClipEnvelope(new Envelope(0,width,0,height));
    voronoi.setTolerance(0.01);
    voronoi.setSites(sitesList);
    Geometry geo=voronoi.getDiagram(new GeometryFactory());
    for(int i=0;i<geo.getNumGeometries();i++)
    {
        Polygon poly=(Polygon)geo.getGeometryN(i);
        zonesList.add(poly.getCoordinates());
    }

如果width = 900,height = 598,siteList = 5000,那么voronoi图将围绕它构建的顶点数。

我希望Geometry区域geo.getArea()为900 * 598,但它实际上是一个更大的数字,geo.getPoints()也是如此,它返回一个更大的数字siteList大小;最后,图中各个多边形的坐标不在我用voronoi.setClipEnvelope设置的信封内(新的信封(0,宽度,0,高度))。

在这一点上,我认为我得到了一些非常错误的东西,或者我应该使用另一个库来更好地满足我的简单需求,因为即使我喜欢速度,jts对于图片细分似乎也有点过分。

0 个答案:

没有答案