我在jts拓扑库中有一些多边形。 如果我想在javafx窗格上画画,我会这样做:
Polygon poly=new Polygon();//javafx
//g is geometry of jts
for (Coordinate coord : g.getCoordinates())
{
poly.getPoints().addAll(coord.x, coord.y);
}
并获得了额外的四条不期望的边缘:
但是测试构建器中的相同数据看起来很好:
有什么不对?遍历几何的顺序? 任何想法?
好的我发现问题的原因是这个多边形有洞。 意外的线条跳转到此多边形的未连接部分。 如何在javafx中绘制带孔的多边形?
答案 0 :(得分:2)
问题解决了: 获取shell和hole使用getInternalRingN,getExternalRingN 并在JAVAFX中首先创建shell多边形和单独的多边形孔
然后将shell分配给myShape并使用Path.substract(myShape,anyHole)