从数组列表点创建多边形 - 坐标序列?
create polygon from array list points - coordinate sequence?
我有一个坐标数组列表:
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,它显示了很多方法,但我不确定如何继续(或者是否仍然需要序列)。
您也可以使用点数组。
有关示例,请参阅 http://docs.geotools.org/stable/userguide/library/jts/geometry.html。
下面是一些示例代码:
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();
我有一个坐标数组列表:
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,它显示了很多方法,但我不确定如何继续(或者是否仍然需要序列)。
您也可以使用点数组。
有关示例,请参阅 http://docs.geotools.org/stable/userguide/library/jts/geometry.html。
下面是一些示例代码:
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();