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对于图片细分似乎也有点过分。