我正在尝试通过从3个或更多坐标绘制多边形来提取地理区域的区域以设置我的逻辑地理栅栏,但事实是我认为LinearRing需要所有的点来关闭对象,无论如何任何人都可以给我了解我做错了什么
Coordinate[] coordinates = vertices;
GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(PrecisionModel.FIXED), 4326);
LinearRing linearRing = geometryFactory.createLinearRing(coordinates);
Polygon polygon = geometryFactory.createPolygon(linearRing, null);
setGeometry(polygon);
答案 0 :(得分:1)
你是对的,一个LinearRing(和一个多边形)必须是closed ring - 它至少需要4个点,并且第一个和最后一个点必须相同。所以我会做类似的事情:
Coordinate[] coordinates = new Coordinate[vertices.length+1];
for(int i=0;i<vertices.length;i++){
coordinate[i] = vertices[i];
}
coordinate[vertices.length] = coordinate[0];
.....