我有一个带坐标的数组列表:
List<Coordinate> coords;
我想根据这些值创建一个多边形。
我在尝试:
GeometryFactory geometryFactory = new GeometryFactory();
Polygon polyg = geometryFactory.createPolygon(coords);
但它表明它需要CoordinateSequence:
The method createPolygon(CoordinateSequence) in the type GeometryFactory is not applicable for the arguments (List<Coordinate>)
如果我尝试创建一个CoordinateSequence,它会显示一些方法,我不知道如何继续(或者无论如何都需要序列)。
答案 0 :(得分:1)
您也可以使用点数组。
以下是一些示例代码:
ArrayList<Coordinate> points = new ArrayList<Coordinate>();
points.add(new Coordinate(longitude, latitude));
...
points.add(new Coordinate(lon, lat));
...
//make sure to close the linear ring
points.add(new Coordinate(longitude, latitude));
poly = geometryFactory.createPolygon((Coordinate[]) points.toArray(new Coordinate[] {}));
valid = poly.isValid();