use of org.geotoolkit.gml.xml.v311.DirectPositionType in project ddf by codice.
the class WfsFilterDelegateTest method testDisjointAsNotBBox.
@Test
public void testDisjointAsNotBBox() {
WfsFilterDelegate delegate = setupFilterDelegate(SPATIAL_OPERATORS.BBOX.getValue(), new LonLatCoordinateStrategy());
FilterType filter = delegate.disjoint(Metacard.ANY_GEO, POLYGON);
assertThat(filter.getLogicOps().getValue(), is(instanceOf(UnaryLogicOpType.class)));
UnaryLogicOpType type = (UnaryLogicOpType) filter.getLogicOps().getValue();
assertThat(type.getSpatialOps().getValue(), is(instanceOf(BBOXType.class)));
BBOXType bboxType = (BBOXType) type.getSpatialOps().getValue();
EnvelopeType envelope = bboxType.getEnvelope().getValue();
DirectPositionType lowerCorner = envelope.getLowerCorner();
assertThat("The bounding box's lower corner was null.", lowerCorner, is(notNullValue()));
assertThat(lowerCorner.getValue(), is(asList(10.0, -10.0)));
DirectPositionType upperCorner = envelope.getUpperCorner();
assertThat("The bounding box's upper corner was null.", upperCorner, is(notNullValue()));
assertThat(upperCorner.getValue(), is(asList(40.0, 30.0)));
}
use of org.geotoolkit.gml.xml.v311.DirectPositionType in project ddf by codice.
the class WfsFilterDelegateTest method testBoundingBoxLonLatOrder.
@Test
public void testBoundingBoxLonLatOrder() {
final WfsFilterDelegate delegate = setupFilterDelegate(SPATIAL_OPERATORS.BBOX.getValue(), new LonLatCoordinateStrategy());
final FilterType filter = delegate.intersects(Metacard.ANY_GEO, POLYGON);
assertThat(filter.getSpatialOps().getValue(), is(instanceOf(BBOXType.class)));
final BBOXType bboxType = (BBOXType) filter.getSpatialOps().getValue();
final EnvelopeType envelope = bboxType.getEnvelope().getValue();
final DirectPositionType lowerCorner = envelope.getLowerCorner();
assertThat("The bounding box's lower corner was null.", lowerCorner, is(notNullValue()));
assertThat(lowerCorner.getValue(), is(asList(10.0, -10.0)));
final DirectPositionType upperCorner = envelope.getUpperCorner();
assertThat("The bounding box's upper corner was null.", upperCorner, is(notNullValue()));
assertThat(upperCorner.getValue(), is(asList(40.0, 30.0)));
}
use of org.geotoolkit.gml.xml.v311.DirectPositionType in project ddf by codice.
the class WfsFilterDelegateTest method testBoundingBoxLatLonOrder.
@Test
public void testBoundingBoxLatLonOrder() {
final WfsFilterDelegate delegate = setupFilterDelegate(SPATIAL_OPERATORS.BBOX.getValue(), new LatLonCoordinateStrategy());
final FilterType filter = delegate.intersects(Metacard.ANY_GEO, POLYGON);
assertThat(filter.getSpatialOps().getValue(), is(instanceOf(BBOXType.class)));
final BBOXType bboxType = (BBOXType) filter.getSpatialOps().getValue();
final EnvelopeType envelope = bboxType.getEnvelope().getValue();
final DirectPositionType lowerCorner = envelope.getLowerCorner();
assertThat("The bounding box's lower corner was null.", lowerCorner, is(notNullValue()));
assertThat(lowerCorner.getValue(), is(asList(-10.0, 10.0)));
final DirectPositionType upperCorner = envelope.getUpperCorner();
assertThat("The bounding box's upper corner was null.", upperCorner, is(notNullValue()));
assertThat(upperCorner.getValue(), is(asList(30.0, 40.0)));
}
use of org.geotoolkit.gml.xml.v311.DirectPositionType in project ddf by codice.
the class WfsFilterDelegate method buildBBoxType.
private JAXBElement<BBOXType> buildBBoxType(String propertyName, String wkt) {
BBOXType bboxType = new BBOXType();
bboxType.setPropertyName(createPropertyNameType(propertyName).getValue());
EnvelopeType envelopeType = gmlObjectFactory.createEnvelopeType();
Envelope envelope = createEnvelopeFromWkt(wkt);
List<Double> lowerCornerCoordinates = coordinateStrategy.lowerCorner(envelope);
List<Double> upperCornerCoordinates = coordinateStrategy.upperCorner(envelope);
DirectPositionType lowerCorner = new DirectPositionType();
lowerCorner.setValue(lowerCornerCoordinates);
envelopeType.setLowerCorner(lowerCorner);
DirectPositionType upperCorner = new DirectPositionType();
upperCorner.setValue(upperCornerCoordinates);
envelopeType.setUpperCorner(upperCorner);
bboxType.setEnvelope(gmlObjectFactory.createEnvelope(envelopeType));
return filterObjectFactory.createBBOX(bboxType);
}
use of org.geotoolkit.gml.xml.v311.DirectPositionType in project ddf by codice.
the class WfsFilterDelegate method createEnvelope.
private JAXBElement<EnvelopeType> createEnvelope(Geometry geometry) {
EnvelopeType envelopeType = gml320ObjectFactory.createEnvelopeType();
envelopeType.setSrsName(GeospatialUtil.EPSG_4326_URN);
Envelope envelope = geometry.getEnvelopeInternal();
DirectPositionType lowerCorner = gml320ObjectFactory.createDirectPositionType();
lowerCorner.getValue().add(envelope.getMinX());
lowerCorner.getValue().add(envelope.getMinY());
envelopeType.setLowerCorner(lowerCorner);
DirectPositionType upperCorner = gml320ObjectFactory.createDirectPositionType();
upperCorner.getValue().add(envelope.getMaxX());
upperCorner.getValue().add(envelope.getMaxY());
envelopeType.setUpperCorner(upperCorner);
return gml320ObjectFactory.createEnvelope(envelopeType);
}
Aggregations