kiwi-postgis  Version 0.1.0.0
Polygon Class Reference
Inheritance diagram for Polygon:
Collaboration diagram for Polygon:

Public Member Functions

String getURI ()
 
Geometry construct (String input, Integer srid)
 
Value evaluate (ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
 

Member Function Documentation

◆ construct()

Geometry construct ( String  input,
Integer  srid 
)

References LiteralUtils.createGeometry().

18  {
19  WKTReader wktreader=new WKTReader();
20  Geometry geom;
21  try {
22  geom = wktreader.read(input);
23  if("LINESTRING".equals(geom.getGeometryType().toUpperCase())){
24  return LiteralUtils.createGeometry(geom.getCoordinates(), "Polygon", srid);
25  }
26  } catch (ParseException e) {
27  // TODO Auto-generated catch block
28  e.printStackTrace();
29  }
30 
31  return null;
32  }

◆ evaluate()

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

References GeometricConstructorInteger.construct(), and LiteralRegistry.getLiteral().

16  {
17  if (args.length != 2) {
18  throw new ValueExprEvaluationException(getURI() + " requires exactly 1 arguments, got " + args.length);
19  }
20 
21  String input=args[0].stringValue();
22  Integer srid = Integer.valueOf(args[1].stringValue());
23  LiteralType l=LiteralRegistry.getLiteral(((Literal)args[0]).getDatatype().toString());
24  if(l instanceof VectorLiteral) {
25  Geometry result = construct(input,srid);
26  return valueFactory.createLiteral(((VectorLiteral) l).unparse(result),((Literal)args[0]).getDatatype());
27  }
28  throw new ValueExprEvaluationException("Arguments given are not geometry literals");
29  }

◆ getURI()

String getURI ( )

References POSTGIS.st_polygon.

13  {
14  return POSTGIS.st_polygon.stringValue();
15  }