rdf4j-postgis  Version 0.1.0.0
Force4D Class Reference

Transforms a geometry to a 4D representation. More...

Inheritance diagram for Force4D:
Collaboration diagram for Force4D:

Public Member Functions

String getURI ()
 
Value evaluate (ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
 

Protected Member Functions

Geometry operation (Geometry geom)
 

Detailed Description

Transforms a geometry to a 4D representation.

Member Function Documentation

◆ evaluate()

Value evaluate ( ValueFactory  valueFactory,
Value...  args 
) throws ValueExprEvaluationException
inherited
16  {
17  if (args.length != 1) {
18  throw new ValueExprEvaluationException(getURI() + " requires exactly 1 argument, 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  Geometry result = operation(geom);
25  return valueFactory.createLiteral(((VectorLiteral) l).unparse(result),((Literal)args[0]).getDatatype());
26  }
27  throw new ValueExprEvaluationException("Argument given is not a geometry literal");
28  }

References LiteralRegistry.getLiteral(), and GeometricUnaryFunction.operation().

Referenced by BoundaryTest.testBoundary(), BoundingDiagonalTest.testBoundingDiagonal(), CentroidTest.testCentroid(), StartPointTest.testCircularString(), CircumcentreTest.testCircumcentre1(), CollectionHomogenizeTest.testCollectionHomogenize(), FlipCoordinatesTest.testFlipCoordinates(), Force2DTest.testForce2D(), Force3DTest.testForce3D(), Force3DMTest.testForce3DM(), Force3DMTest.testForce3DM2(), Force4DTest.testForce4D(), ForceCollectionTest.testForceCollection(), ForceCollectionTest.testForceCollectionZ(), ForcePolygonCCWTest.testForcePolygonCCW(), ForcePolygonCWTest.testForcePolygonCW(), EndPointTest.testLineString2D(), StartPointTest.testLineString2D(), EndPointTest.testLineString3D(), StartPointTest.testLineString3D(), MinimumBoundingCircleCenterTest.testMinimumBoundingCircle(), MinimumBoundingCircleTest.testMinimumBoundingCircle(), MinimumClearanceLineTest.testMinimumClearanceLine(), MinimumDiameterLineTest.testMinimumDiameterLine(), MinimumRectangleTest.testMinimumRectangle(), MultiTest.testMulti2D(), MultiTest.testMulti3D(), SelfIntersectionsTest.testNoSelfIntersections(), EndPointTest.testPoint(), StartPointTest.testPoint(), PointsTest.testPoints(), PointsTest.testPoints3D(), ReverseTest.testReverse(), SelfIntersectionsTest.testSelfIntersections(), ShiftLongitudeTest.testShiftLongitude(), SimplifyPreserveTopologyTest.testSimplifyVW(), and TransScaleTest.testTransScale().

◆ getURI()

String getURI ( )
21  {
22  return POSTGIS.st_force4d.stringValue();
23  }

References POSTGIS.st_force4d.

◆ operation()

Geometry operation ( Geometry  geom)
protected

Reimplemented from GeometricUnaryFunction.

26  {
27 
28  List<Coordinate> newcoords=new ArrayList<Coordinate>();
29  for(Coordinate coord:geom.getCoordinates()) {
30  newcoords.add(new CoordinateXYZM(coord.x,coord.y,(Double.isNaN(coord.getZ())?0.:coord.getZ()),Double.isNaN(coord.getM())?0.:coord.getM()));
31  }
32  return LiteralUtils.createGeometry(newcoords,geom.getGeometryType(),geom.getSRID());
33  }

References LiteralUtils.createGeometry().