kiwi-postgis  Version 0.1.0.0
IsPolygonCW Class Reference

Returns true if all exterior rings are oriented clockwise and all interior rings are oriented counter-clockwise. More...

Inheritance diagram for IsPolygonCW:
Collaboration diagram for IsPolygonCW:

Public Member Functions

String getURI ()
 
int attribute (Geometry geom)
 
Value evaluate (ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
 

Detailed Description

Returns true if all exterior rings are oriented clockwise and all interior rings are oriented counter-clockwise.

Member Function Documentation

◆ attribute()

int attribute ( Geometry  geom)
20  {
21  if (geom instanceof Polygon) {
22  return ((Polygon) geom).getNumInteriorRing();
23  }
24  return 0;
25  }

◆ evaluate()

Value evaluate ( ValueFactory  valueFactory,
Value...  args 
) throws ValueExprEvaluationException
inherited

References GeometricIntegerAttributeFunction.attribute(), and LiteralRegistry.getLiteral().

16  {
17  if (args.length != 1) {
18  throw new ValueExprEvaluationException(getURI() + " requires exactly 1 arguments, got " + args.length);
19  }
20 
21  LiteralType l=LiteralRegistry.getLiteral(((Literal)args[0]).getDatatype().toString());
22  if(l instanceof VectorLiteral) {
23  Geometry geom=((VectorLiteral)l).read(args[0].stringValue());
24  int result = attribute(geom);
25  return valueFactory.createLiteral(result);
26  }
27  throw new ValueExprEvaluationException("Argument given is not a geometry literal");
28  }

◆ getURI()

String getURI ( )

References POSTGIS.st_isPolygonCW.

15  {
16  return POSTGIS.st_isPolygonCW.stringValue();
17  }