1

我正在尝试通过从 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);
4

1 回答 1

1

没错,LinearRing(和多边形)必须是一个封闭的环- 它至少需要 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];
 .....
于 2012-08-31T07:50:28.480 回答