Search in sources :

Example 21 with BinarySpatialOpType

use of net.opengis.fes._2.BinarySpatialOpType in project ddf by codice.

the class TestWfsFilterDelegate method testIntersectsWithEnvelope.

@Test
public void testIntersectsWithEnvelope() throws SAXException, IOException, JAXBException {
    List<String> gmlProps = new ArrayList<>();
    gmlProps.add(MOCK_GEOM);
    when(mockFeatureMetacardType.getGmlProperties()).thenReturn(gmlProps);
    when(mockFeatureMetacardType.getAttributeDescriptor(MOCK_GEOM)).thenReturn(new FeatureAttributeDescriptor(MOCK_GEOM, MOCK_GEOM, true, false, false, false, BasicTypes.STRING_TYPE));
    SpatialOperatorType operator = new SpatialOperatorType();
    operator.setName(SPATIAL_OPERATORS.Intersects.toString());
    FilterCapabilities capabilities = MockWfsServer.getFilterCapabilities();
    capabilities.getSpatialCapabilities().getSpatialOperators().getSpatialOperator().clear();
    capabilities.getSpatialCapabilities().getSpatialOperators().getSpatialOperator().add(operator);
    capabilities.getSpatialCapabilities().getGeometryOperands().getGeometryOperand().clear();
    GeometryOperand geoOperand = new GeometryOperand();
    geoOperand.setName(Wfs20Constants.ENVELOPE);
    capabilities.getSpatialCapabilities().getGeometryOperands().getGeometryOperand().add(geoOperand);
    WfsFilterDelegate delegate = new WfsFilterDelegate(mockFeatureMetacardType, capabilities, GeospatialUtil.EPSG_4326_URN, null, GeospatialUtil.LAT_LON_ORDER);
    FilterType filter = delegate.intersects(Metacard.ANY_GEO, POLYGON);
    assertTrue(filter.getSpatialOps().getValue() instanceof BinarySpatialOpType);
    assertFalse(filter.isSetLogicOps());
    assertXMLEqual(MockWfsServer.getIntersectsWithEnvelopeXmlFilter(), getXmlFromMarshaller(filter));
}
Also used : GeometryOperand(net.opengis.filter.v_2_0_0.GeometryOperandsType.GeometryOperand) FilterCapabilities(net.opengis.filter.v_2_0_0.FilterCapabilities) FilterType(net.opengis.filter.v_2_0_0.FilterType) FeatureAttributeDescriptor(org.codice.ddf.spatial.ogc.wfs.catalog.common.FeatureAttributeDescriptor) SpatialOperatorType(net.opengis.filter.v_2_0_0.SpatialOperatorType) ArrayList(java.util.ArrayList) BinarySpatialOpType(net.opengis.filter.v_2_0_0.BinarySpatialOpType) Test(org.junit.Test)

Example 22 with BinarySpatialOpType

use of net.opengis.fes._2.BinarySpatialOpType in project ddf by codice.

the class TestWfsFilterDelegate method testDisjointAsNotIntersects.

@Test
public void testDisjointAsNotIntersects() throws SAXException, IOException, JAXBException {
    WfsFilterDelegate delegate = setupFilterDelegate(SPATIAL_OPERATORS.Intersects.toString());
    FilterType filter = delegate.disjoint(Metacard.ANY_GEO, POLYGON);
    assertTrue(filter.getLogicOps().getValue() instanceof UnaryLogicOpType);
    UnaryLogicOpType type = (UnaryLogicOpType) filter.getLogicOps().getValue();
    assertTrue(type.getSpatialOps().getValue() instanceof BinarySpatialOpType);
    assertXMLEqual(MockWfsServer.getNotIntersectsXmlFilter(), getXmlFromMarshaller(filter));
}
Also used : UnaryLogicOpType(net.opengis.filter.v_2_0_0.UnaryLogicOpType) FilterType(net.opengis.filter.v_2_0_0.FilterType) BinarySpatialOpType(net.opengis.filter.v_2_0_0.BinarySpatialOpType) Test(org.junit.Test)

Example 23 with BinarySpatialOpType

use of net.opengis.fes._2.BinarySpatialOpType in project ddf by codice.

the class TestWfsFilterDelegate method testIntersects.

@Test
public void testIntersects() throws SAXException, IOException, JAXBException {
    WfsFilterDelegate delegate = setupFilterDelegate(SPATIAL_OPERATORS.Intersects.toString());
    FilterType filter = delegate.intersects(Metacard.ANY_GEO, POLYGON);
    assertTrue(filter.getSpatialOps().getValue() instanceof BinarySpatialOpType);
    assertFalse(filter.isSetLogicOps());
    assertXMLEqual(MockWfsServer.getIntersectsXmlFilter(), getXmlFromMarshaller(filter));
}
Also used : FilterType(net.opengis.filter.v_2_0_0.FilterType) BinarySpatialOpType(net.opengis.filter.v_2_0_0.BinarySpatialOpType) Test(org.junit.Test)

Example 24 with BinarySpatialOpType

use of net.opengis.fes._2.BinarySpatialOpType in project ddf by codice.

the class CswQueryFactoryTest method testPostGetRecordsSpatialCrossesOgcFilter.

@Test
public void testPostGetRecordsSpatialCrossesOgcFilter() throws CswException, UnsupportedQueryException, SourceUnavailableException, FederationException {
    BinarySpatialOpType op = createBinarySpatialOpType();
    ogcSpatialQuery(Crosses.class, filterObjectFactory.createCrosses(op));
}
Also used : BinarySpatialOpType(net.opengis.filter.v_1_1_0.BinarySpatialOpType) Test(org.junit.Test)

Example 25 with BinarySpatialOpType

use of net.opengis.fes._2.BinarySpatialOpType in project ddf by codice.

the class CswFilterFactory method createBinarySpatialOpTypeUsingEnvelope.

private BinarySpatialOpType createBinarySpatialOpTypeUsingEnvelope(PropertyNameType propertyName, JAXBElement<EnvelopeType> envelope) {
    BinarySpatialOpType binarySpatialOpType = new BinarySpatialOpType();
    binarySpatialOpType.getPropertyName().add(propertyName);
    binarySpatialOpType.setEnvelope(envelope);
    return binarySpatialOpType;
}
Also used : BinarySpatialOpType(net.opengis.filter.v_1_1_0.BinarySpatialOpType)

Aggregations

Test (org.junit.Test)34 BinarySpatialOpType (net.opengis.filter.v_1_1_0.BinarySpatialOpType)20 BinarySpatialOpType (net.opengis.filter.v_2_0_0.BinarySpatialOpType)18 FilterType (net.opengis.filter.v_2_0_0.FilterType)18 FilterType (net.opengis.filter.v_1_1_0.FilterType)8 ArrayList (java.util.ArrayList)7 FilterCapabilities (net.opengis.filter.v_2_0_0.FilterCapabilities)6 SpatialOperatorType (net.opengis.filter.v_2_0_0.SpatialOperatorType)6 LinearRingType (net.opengis.gml.v_3_1_1.LinearRingType)6 MultiPolygonType (net.opengis.gml.v_3_1_1.MultiPolygonType)6 GeometryOperand (net.opengis.filter.v_2_0_0.GeometryOperandsType.GeometryOperand)4 UnaryLogicOpType (net.opengis.filter.v_2_0_0.UnaryLogicOpType)4 PolygonType (net.opengis.gml.v_3_1_1.PolygonType)4 FeatureAttributeDescriptor (org.codice.ddf.spatial.ogc.wfs.catalog.common.FeatureAttributeDescriptor)3 LineStringType (net.opengis.gml.v_3_1_1.LineStringType)2 JAXBElement (javax.xml.bind.JAXBElement)1 BBOXType (net.opengis.fes._2.BBOXType)1 BinarySpatialOpType (net.opengis.fes._2.BinarySpatialOpType)1 DistanceBufferType (net.opengis.fes._2.DistanceBufferType)1 BBOXType (net.opengis.fes.x20.BBOXType)1