从数组列表点创建多边形 - 坐标序列?

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();