Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a polygon in JTS when we have list of coordinate?

We can create a LineString using coordinates list like this:

     Geometry g1 = new GeometryFactory().createLineString(coordinates);

How can we create a polygon using coordinates list?

Thanks in advance.

like image 322
Piscean Avatar asked Jul 04 '11 10:07

Piscean


2 Answers

The accepted answer might have still been valid (still awkward) in 2012 but nowadays you should really do it simply like this:

// Create a GeometryFactory if you don't have one already
GeometryFactory geometryFactory = new GeometryFactory();

// Simply pass an array of Coordinate or a CoordinateSequence to its method
Polygon polygonFromCoordinates = geometryFactory.createPolygon(coordinates);
like image 161
bugmenot123 Avatar answered Oct 22 '22 00:10

bugmenot123


Use these line of codes:

 GeometryFactory fact = new GeometryFactory();
 LinearRing linear = new GeometryFactory().createLinearRing(coordinates);
 Polygon poly = new Polygon(linear, null, fact);

I hope it will help :)

like image 39
Piscean Avatar answered Oct 22 '22 00:10

Piscean