在JavaFx中使用JTS拓扑

时间:2013-06-28 16:20:07

标签: java buffer javafx jts

我在jts拓扑库中有一些多边形。 如果我想在javafx窗格上画画,我会这样做:

 Polygon poly=new Polygon();//javafx
 //g is geometry of jts
    for (Coordinate coord : g.getCoordinates())
    {
        poly.getPoints().addAll(coord.x, coord.y);
    }

并获得了额外的四条不期望的边缘: enter image description here

但是测试构建器中的相同数据看起来很好: enter image description here

有什么不对?遍历几何的顺序? 任何想法?

好的我发现问题的原因是这个多边形有洞。 意外的线条跳转到此多边形的未连接部分。 如何在javafx中绘制带孔的多边形?

1 个答案:

答案 0 :(得分:2)

问题解决了: 获取shell和hole使用getInternalRingN,getExternalRingN 并在JAVAFX中首先创建shell多边形和单独的多边形孔

然后将shell分配给myShape并使用Path.substract(myShape,anyHole)