CreatePolygon

 

Updated: March 22, 2017

Returns a GeoJSON Polygon record. The result of a CreatePolygon can be used as input to other Geospatial functions. The order of points must follow right-hand ring orientation, an easy way to check if the polygon orientation is correct is to imagine yourself walking from one point to the other in order of declaration, the inside of the polygon needs to be on your left side all the time.

Be aware that when declaring polygons:

  • A polygon with left-hand ring orientation will generate a geography that encompass the entire globe minus the polygon you declared.

  • Polygons cannot have holes.

  • Polygons cannot have less than 3 points.

  • First and last points declared must be equal to close the loop

Syntax

CreatePolygon (points)  

Points

A list of GeoJSON record points.

Returns a GeoJSON polygon record with Polygon as type and an array of points as coordinates.

 SELECT  
     CreatePolygon(CreatePoint(input.latitude, input.longitude), CreatePoint(10.0, 10.0), CreatePoint(10.5, 10.5), CreatePoint(input.latitude, input.longitude))  
FROM input  
  

Input Example

latitudelongitude
3.0-10.2
-87.3320.2321

Output Example

{"type" : "Polygon", "coordinates" : [[ [-10.2, 3.0], [10.0, 10.0], [10.5, 10.5], [-10.2, 3.0] ]]}

{"type" : "Polygon", "coordinates" : [[ [20.2321, -87.33], [10.0, 10.0], [10.5, 10.5], [20.2321, -87.33] ]]}

Show: