use of net.opengis.gml.x32.AbstractGeometryType in project ddf by codice.
the class RegistryPackageConverter method setSlotGeoAttribute.
private static void setSlotGeoAttribute(SlotType1 slot, String metacardAttributeName, MetacardImpl metacard) throws RegistryConversionException {
if (slot.isSetValueList()) {
net.opengis.cat.wrs.v_1_0_2.ValueListType valueList = (net.opengis.cat.wrs.v_1_0_2.ValueListType) slot.getValueList().getValue();
List<AnyValueType> anyValues = valueList.getAnyValue();
for (AnyValueType anyValue : anyValues) {
if (anyValue.isSetContent()) {
for (Object content : anyValue.getContent()) {
if (content instanceof JAXBElement) {
JAXBElement jaxbElement = (JAXBElement) content;
AbstractGeometryType geometry = (AbstractGeometryType) jaxbElement.getValue();
String convertedGeometry = getWKTFromGeometry(geometry, jaxbElement);
if (StringUtils.isNotBlank(convertedGeometry)) {
metacard.setAttribute(metacardAttributeName, convertedGeometry);
}
}
}
}
}
}
}
use of net.opengis.gml.x32.AbstractGeometryType in project arctic-sea by 52North.
the class GmlEncoderv321 method createGeomteryPropertyType.
private XmlObject createGeomteryPropertyType(AbstractGeometry element, EncodingContext ctx) throws EncodingException {
GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance();
if (element.isReferenced()) {
geometryPropertyType.setHref(element.getGmlId());
} else {
AbstractGeometryType xmlObject = createAbstractGeometry(element, ctx);
geometryPropertyType.setAbstractGeometry(xmlObject);
XmlHelper.substituteElement(geometryPropertyType.getAbstractGeometry(), xmlObject);
}
return geometryPropertyType;
}
use of net.opengis.gml.x32.AbstractGeometryType in project ddf by codice.
the class CswQueryFactoryTest method createPolygon.
private JAXBElement<AbstractGeometryType> createPolygon() {
PolygonType localPolygon = new PolygonType();
LinearRingType ring = new LinearRingType();
for (Coordinate coordinate : polygon.getCoordinates()) {
CoordType coord = new CoordType();
coord.setX(BigDecimal.valueOf(coordinate.x));
coord.setY(BigDecimal.valueOf(coordinate.y));
if (!Double.isNaN(coordinate.z)) {
coord.setZ(BigDecimal.valueOf(coordinate.z));
}
ring.getCoord().add(coord);
}
AbstractRingPropertyType abstractRing = new AbstractRingPropertyType();
abstractRing.setRing(gmlObjectFactory.createLinearRing(ring));
localPolygon.setExterior(gmlObjectFactory.createExterior(abstractRing));
JAXBElement<AbstractGeometryType> agt = new JAXBElement<>(new QName("http://www.opengis.net/gml", "Polygon"), AbstractGeometryType.class, null, localPolygon);
return agt;
}
use of net.opengis.gml.x32.AbstractGeometryType in project ddf by codice.
the class CswFilterFactory method createDistanceBufferType.
@SuppressWarnings("unchecked")
private DistanceBufferType createDistanceBufferType(PropertyNameType propertyName, JAXBElement<? extends AbstractGeometryType> geometry, DistanceType distance) {
DistanceBufferType distanceBuffer = new DistanceBufferType();
distanceBuffer.setDistance(distance);
distanceBuffer.setGeometry((JAXBElement<AbstractGeometryType>) geometry);
distanceBuffer.setPropertyName(propertyName);
return distanceBuffer;
}
use of net.opengis.gml.x32.AbstractGeometryType in project ddf by codice.
the class WfsFilterDelegate method buildDistanceBufferType.
@SuppressWarnings("unchecked")
private JAXBElement<DistanceBufferType> buildDistanceBufferType(JAXBElement<DistanceBufferType> dbt, String propertyName, String wkt, double distance) {
DistanceType distanceType = new DistanceType();
distanceType.setValue(distance);
// the filter adapter normalizes all distances to meters
distanceType.setUnits(WfsConstants.METERS);
dbt.getValue().setDistance(distanceType);
dbt.getValue().setGeometry((JAXBElement<AbstractGeometryType>) createGeometryOperand(wkt));
dbt.getValue().setPropertyName(createPropertyNameType(propertyName).getValue());
return dbt;
}
Aggregations