Search in sources :

Example 26 with SearchEnvelope

use of org.apache.jena.geosparql.spatial.SearchEnvelope in project jena by apache.

the class NearbyPFTest method testExtractObjectArguments_5args.

/**
 * Test of extractObjectArguments method, of class NearbyPF.
 */
@Test
public void testExtractObjectArguments_5args() {
    Node predicate = NodeFactory.createURI(SpatialExtension.NEARBY_PROP);
    float lat = 0;
    float lon = 1;
    float radius = 5000;
    String unitsURI = Unit_URI.METRE_URL;
    int limit = 10;
    Literal geometry = ConvertLatLon.toLiteral(lat, lon);
    List<Node> objectNodes = Arrays.asList(NodeValue.makeFloat(lat).asNode(), NodeValue.makeFloat(lon).asNode(), NodeValue.makeFloat(radius).asNode(), NodeFactory.createURI(unitsURI), NodeValue.makeInteger(limit).asNode());
    PropFuncArg object = new PropFuncArg(objectNodes);
    GeometryWrapper geometryWrapper = GeometryWrapper.extract(geometry);
    SearchEnvelope searchEnvelope = SearchEnvelope.build(geometryWrapper, SpatialIndexTestData.WGS_84_SRS_INFO, radius, unitsURI);
    NearbyPF instance = new NearbyPF();
    SpatialArguments expResult = new SpatialArguments(limit, geometryWrapper, searchEnvelope);
    SpatialArguments result = instance.extractObjectArguments(predicate, object, SpatialIndexTestData.WGS_84_SRS_INFO);
    assertEquals(expResult, result);
}
Also used : SpatialArguments(org.apache.jena.geosparql.spatial.property_functions.SpatialArguments) Node(org.apache.jena.graph.Node) Literal(org.apache.jena.rdf.model.Literal) GeometryWrapper(org.apache.jena.geosparql.implementation.GeometryWrapper) SearchEnvelope(org.apache.jena.geosparql.spatial.SearchEnvelope) PropFuncArg(org.apache.jena.sparql.pfunction.PropFuncArg) Test(org.junit.Test)

Example 27 with SearchEnvelope

use of org.apache.jena.geosparql.spatial.SearchEnvelope in project jena by apache.

the class NearbyPFTest method testExtractObjectArguments_6args_fail.

/**
 * Test of extractObjectArguments method, of class NearbyPF.
 */
@Test(expected = ExprEvalException.class)
public void testExtractObjectArguments_6args_fail() {
    Node predicate = NodeFactory.createURI(SpatialExtension.NEARBY_PROP);
    float lat = 0;
    float lon = 1;
    float radius = 5000;
    String unitsURI = Unit_URI.METRE_URL;
    int limit = 10;
    Literal geometry = ConvertLatLon.toLiteral(lat, lon);
    List<Node> objectNodes = Arrays.asList(NodeValue.makeFloat(lat).asNode(), NodeValue.makeFloat(lon).asNode(), NodeValue.makeFloat(radius).asNode(), NodeFactory.createURI(unitsURI), NodeValue.makeInteger(limit).asNode(), NodeValue.makeBoolean(false).asNode());
    PropFuncArg object = new PropFuncArg(objectNodes);
    GeometryWrapper geometryWrapper = GeometryWrapper.extract(geometry);
    SearchEnvelope searchEnvelope = SearchEnvelope.build(geometryWrapper, SpatialIndexTestData.WGS_84_SRS_INFO, radius, unitsURI);
    NearbyPF instance = new NearbyPF();
    SpatialArguments expResult = new SpatialArguments(limit, geometryWrapper, searchEnvelope);
    SpatialArguments result = instance.extractObjectArguments(predicate, object, SpatialIndexTestData.WGS_84_SRS_INFO);
// assertEquals(expResult, result);
}
Also used : SpatialArguments(org.apache.jena.geosparql.spatial.property_functions.SpatialArguments) Node(org.apache.jena.graph.Node) Literal(org.apache.jena.rdf.model.Literal) GeometryWrapper(org.apache.jena.geosparql.implementation.GeometryWrapper) SearchEnvelope(org.apache.jena.geosparql.spatial.SearchEnvelope) PropFuncArg(org.apache.jena.sparql.pfunction.PropFuncArg) Test(org.junit.Test)

Example 28 with SearchEnvelope

use of org.apache.jena.geosparql.spatial.SearchEnvelope in project jena by apache.

the class NearbyPFTest method testExtractObjectArguments_5args_pos4_fail.

/**
 * Test of extractObjectArguments method, of class NearbyPF.
 */
@Test(expected = ExprEvalException.class)
public void testExtractObjectArguments_5args_pos4_fail() {
    Node predicate = NodeFactory.createURI(SpatialExtension.NEARBY_PROP);
    float lat = 0;
    float lon = 1;
    float radius = 5000;
    String unitsURI = Unit_URI.METRE_URL;
    int limit = 10;
    Literal geometry = ConvertLatLon.toLiteral(lat, lon);
    List<Node> objectNodes = Arrays.asList(NodeValue.makeFloat(lat).asNode(), NodeValue.makeFloat(lon).asNode(), NodeValue.makeFloat(radius).asNode(), NodeFactory.createURI(unitsURI), NodeValue.makeString("10").asNode());
    PropFuncArg object = new PropFuncArg(objectNodes);
    GeometryWrapper geometryWrapper = GeometryWrapper.extract(geometry);
    SearchEnvelope searchEnvelope = SearchEnvelope.build(geometryWrapper, SpatialIndexTestData.WGS_84_SRS_INFO, radius, unitsURI);
    NearbyPF instance = new NearbyPF();
    SpatialArguments expResult = new SpatialArguments(limit, geometryWrapper, searchEnvelope);
    SpatialArguments result = instance.extractObjectArguments(predicate, object, SpatialIndexTestData.WGS_84_SRS_INFO);
// assertEquals(expResult, result);
}
Also used : SpatialArguments(org.apache.jena.geosparql.spatial.property_functions.SpatialArguments) Node(org.apache.jena.graph.Node) Literal(org.apache.jena.rdf.model.Literal) GeometryWrapper(org.apache.jena.geosparql.implementation.GeometryWrapper) SearchEnvelope(org.apache.jena.geosparql.spatial.SearchEnvelope) PropFuncArg(org.apache.jena.sparql.pfunction.PropFuncArg) Test(org.junit.Test)

Example 29 with SearchEnvelope

use of org.apache.jena.geosparql.spatial.SearchEnvelope in project jena by apache.

the class GenericSpatialGeomPropertyFunctionTest method testExtractObjectArguments_1args.

/**
 * Test of extractObjectArguments method, of class
 * GenericSpatialGeomPropertyFunction.
 */
@Test
public void testExtractObjectArguments_1args() {
    Node predicate = NodeFactory.createURI(SpatialExtension.INTERSECT_BOX_GEOM_PROP);
    // Geometry and Envelope parameters
    float lat = 0.0f;
    float lon = 1.0f;
    int limit = -1;
    Literal geometry = ConvertLatLon.toLiteral(lat, lon);
    List<Node> objectNodes = Arrays.asList(geometry.asNode());
    PropFuncArg object = new PropFuncArg(objectNodes);
    // Function arguments
    GeometryWrapper geometryWrapper = GeometryWrapper.extract(geometry);
    SearchEnvelope searchEnvelope = SearchEnvelope.build(geometryWrapper, SpatialIndexTestData.WGS_84_SRS_INFO);
    GenericSpatialGeomPropertyFunction instance = new IntersectBoxGeomPF();
    SpatialArguments expResult = new SpatialArguments(limit, geometryWrapper, searchEnvelope);
    SpatialArguments result = instance.extractObjectArguments(predicate, object, SpatialIndexTestData.WGS_84_SRS_INFO);
    assertEquals(expResult, result);
}
Also used : IntersectBoxGeomPF(org.apache.jena.geosparql.spatial.property_functions.box.IntersectBoxGeomPF) Node(org.apache.jena.graph.Node) Literal(org.apache.jena.rdf.model.Literal) GeometryWrapper(org.apache.jena.geosparql.implementation.GeometryWrapper) SearchEnvelope(org.apache.jena.geosparql.spatial.SearchEnvelope) PropFuncArg(org.apache.jena.sparql.pfunction.PropFuncArg) Test(org.junit.Test)

Example 30 with SearchEnvelope

use of org.apache.jena.geosparql.spatial.SearchEnvelope in project jena by apache.

the class GenericSpatialGeomPropertyFunctionTest method testExtractObjectArguments_2args_pos1_fail.

/**
 * Test of extractObjectArguments method, of class
 * GenericSpatialGeomPropertyFunction.
 */
@Test(expected = ExprEvalException.class)
public void testExtractObjectArguments_2args_pos1_fail() {
    Node predicate = NodeFactory.createURI(SpatialExtension.INTERSECT_BOX_GEOM_PROP);
    // Geometry and Envelope parameters
    float lat = 0.0f;
    float lon = 1.0f;
    int limit = 10;
    Literal geometry = ConvertLatLon.toLiteral(lat, lon);
    List<Node> objectNodes = Arrays.asList(geometry.asNode(), NodeValue.makeString("10").asNode());
    PropFuncArg object = new PropFuncArg(objectNodes);
    // Function arguments
    GeometryWrapper geometryWrapper = GeometryWrapper.extract(geometry);
    SearchEnvelope searchEnvelope = SearchEnvelope.build(geometryWrapper, SpatialIndexTestData.WGS_84_SRS_INFO);
    GenericSpatialGeomPropertyFunction instance = new IntersectBoxGeomPF();
    SpatialArguments expResult = new SpatialArguments(limit, geometryWrapper, searchEnvelope);
    SpatialArguments result = instance.extractObjectArguments(predicate, object, SpatialIndexTestData.WGS_84_SRS_INFO);
    assertEquals(expResult, result);
}
Also used : IntersectBoxGeomPF(org.apache.jena.geosparql.spatial.property_functions.box.IntersectBoxGeomPF) Node(org.apache.jena.graph.Node) Literal(org.apache.jena.rdf.model.Literal) GeometryWrapper(org.apache.jena.geosparql.implementation.GeometryWrapper) SearchEnvelope(org.apache.jena.geosparql.spatial.SearchEnvelope) PropFuncArg(org.apache.jena.sparql.pfunction.PropFuncArg) Test(org.junit.Test)

Aggregations

SearchEnvelope (org.apache.jena.geosparql.spatial.SearchEnvelope)65 GeometryWrapper (org.apache.jena.geosparql.implementation.GeometryWrapper)63 Test (org.junit.Test)57 Node (org.apache.jena.graph.Node)46 Literal (org.apache.jena.rdf.model.Literal)41 PropFuncArg (org.apache.jena.sparql.pfunction.PropFuncArg)41 SpatialArguments (org.apache.jena.geosparql.spatial.property_functions.SpatialArguments)39 Resource (org.apache.jena.rdf.model.Resource)9 HashSet (java.util.HashSet)8 SpatialIndex (org.apache.jena.geosparql.spatial.SpatialIndex)8 IntersectBoxGeomPF (org.apache.jena.geosparql.spatial.property_functions.box.IntersectBoxGeomPF)6 ExprEvalException (org.apache.jena.sparql.expr.ExprEvalException)6 DatatypeFormatException (org.apache.jena.datatypes.DatatypeFormatException)5 NodeValue (org.apache.jena.sparql.expr.NodeValue)5 CardinalDirection (org.apache.jena.geosparql.spatial.CardinalDirection)1 Var (org.apache.jena.sparql.core.Var)1 QueryIterator (org.apache.jena.sparql.engine.QueryIterator)1 QueryIterConcat (org.apache.jena.sparql.engine.iterator.QueryIterConcat)1 Envelope (org.locationtech.jts.geom.Envelope)1 MismatchedDimensionException (org.opengis.geometry.MismatchedDimensionException)1