Search in sources :

Example 1 with NamedValue

use of org.n52.shetland.ogc.om.NamedValue in project arctic-sea by 52North.

the class ParameterHolder method addSpatialFilteringProfileParameter.

/**
 * Add sampling geometry to observation
 *
 * @param samplingGeometry The sampling geometry to set
 *
 * @return this
 */
public ParameterHolder addSpatialFilteringProfileParameter(Geometry samplingGeometry) {
    final NamedValue<Geometry> namedValue = new NamedValue<>();
    namedValue.setName(new ReferenceType(OmConstants.PARAM_NAME_SAMPLING_GEOMETRY));
    namedValue.setValue(new GeometryValue(samplingGeometry));
    addParameter(namedValue);
    return this;
}
Also used : Geometry(org.locationtech.jts.geom.Geometry) GeometryValue(org.n52.shetland.ogc.om.values.GeometryValue) ReferenceType(org.n52.shetland.ogc.gml.ReferenceType)

Example 2 with NamedValue

use of org.n52.shetland.ogc.om.NamedValue in project arctic-sea by 52North.

the class OmObservationTest method should_have_SpatialFilteringProfileParameter.

@Test
public final void should_have_SpatialFilteringProfileParameter() throws OwsExceptionReport, DecodingException {
    OmObservation omObservation = new OmObservation();
    NamedValue<Geometry> namedValue = new NamedValue<>();
    namedValue.setName(new ReferenceType(OmConstants.PARAM_NAME_SAMPLING_GEOMETRY));
    GeometryFactory fac = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING), 4326);
    namedValue.setValue(new GeometryValue(fac.createPoint(new Coordinate(34.5, 76.4))));
    // test no parameter is set
    assertFalse(omObservation.isSetParameter());
    assertFalse(omObservation.isSetSpatialFilteringProfileParameter());
    omObservation.addParameter(namedValue);
    // test with set SpatialFilteringProfile parameter
    assertTrue(omObservation.isSetParameter());
    assertTrue(omObservation.isSetSpatialFilteringProfileParameter());
    assertThat(omObservation.getSpatialFilteringProfileParameter(), is(equalTo(namedValue)));
}
Also used : Geometry(org.locationtech.jts.geom.Geometry) GeometryValue(org.n52.shetland.ogc.om.values.GeometryValue) GeometryFactory(org.locationtech.jts.geom.GeometryFactory) Coordinate(org.locationtech.jts.geom.Coordinate) PrecisionModel(org.locationtech.jts.geom.PrecisionModel) ReferenceType(org.n52.shetland.ogc.gml.ReferenceType) Test(org.junit.Test)

Example 3 with NamedValue

use of org.n52.shetland.ogc.om.NamedValue in project arctic-sea by 52North.

the class AbstractGmlDecoderv321 method parseNamedValueType.

protected NamedValue<?> parseNamedValueType(NamedValuePropertyType namedValueProperty) throws DecodingException {
    if (namedValueProperty.isSetNamedValue()) {
        NamedValueType namedValue = namedValueProperty.getNamedValue();
        NamedValue<?> sosNamedValue = parseNamedValueValue(namedValue.getValue());
        org.n52.shetland.ogc.gml.ReferenceType referenceType = (org.n52.shetland.ogc.gml.ReferenceType) decodeXmlObject(namedValue.getName());
        sosNamedValue.setName(referenceType);
        return sosNamedValue;
    } else if (namedValueProperty.isSetHref()) {
        NamedValue<org.n52.shetland.ogc.gml.ReferenceType> sosNamedValue = new NamedValue<>();
        org.n52.shetland.ogc.gml.ReferenceType referenceType = new org.n52.shetland.ogc.gml.ReferenceType(namedValueProperty.getHref());
        if (namedValueProperty.isSetTitle()) {
            referenceType.setTitle(namedValueProperty.getTitle());
        }
        sosNamedValue.setName(referenceType);
        return sosNamedValue;
    } else {
        throw new UnsupportedDecoderInputException(this, namedValueProperty);
    }
}
Also used : NamedValueType(net.opengis.om.x20.NamedValueType) NamedValue(org.n52.shetland.ogc.om.NamedValue) UnsupportedDecoderInputException(org.n52.svalbard.decode.exception.UnsupportedDecoderInputException) ReferenceType(net.opengis.gml.x32.ReferenceType)

Example 4 with NamedValue

use of org.n52.shetland.ogc.om.NamedValue in project arctic-sea by 52North.

the class ObservationDecoder method parseParameter.

protected Collection<NamedValue<?>> parseParameter(JsonNode node) throws DecodingException {
    Set<NamedValue<?>> parameters = Sets.newTreeSet();
    JsonNode parameter = node.path(JSONConstants.PARAMETER);
    if (parameter.isArray()) {
        for (JsonNode jsonNode : parameter) {
            parameters.add(parseNamedValue(jsonNode));
        }
    } else if (parameter.isObject()) {
        parameters.add(parseNamedValue(parameter));
    }
    return parameters;
}
Also used : NamedValue(org.n52.shetland.ogc.om.NamedValue) JsonNode(com.fasterxml.jackson.databind.JsonNode)

Example 5 with NamedValue

use of org.n52.shetland.ogc.om.NamedValue in project arctic-sea by 52North.

the class AbstractOmEncoderv20 method encode.

@Override
public XmlObject encode(Object element, EncodingContext additionalValues) throws EncodingException {
    XmlObject encodedObject = null;
    if (element instanceof OmObservation) {
        encodedObject = encodeOmObservation((OmObservation) element, additionalValues);
    } else if (element instanceof NamedValue) {
        NamedValueType nvt = createNamedValue((NamedValue<?>) element);
        if (additionalValues.has(XmlBeansEncodingFlags.DOCUMENT)) {
            NamedValueDocument nvd = NamedValueDocument.Factory.newInstance();
            nvd.setNamedValue(nvt);
            encodedObject = nvd;
        } else if (additionalValues.has(XmlBeansEncodingFlags.PROPERTY_TYPE)) {
            NamedValuePropertyType nvpt = NamedValuePropertyType.Factory.newInstance();
            nvpt.setNamedValue(nvt);
            encodedObject = nvpt;
        } else {
            encodedObject = nvt;
        }
    } else if (element instanceof AbstractFeature) {
        encodedObject = encodeFeatureOfInterest((AbstractFeature) element);
    } else if (element instanceof SosProcedureDescription) {
        encodedObject = encodeProcedureDescription((SosProcedureDescription<?>) element);
    } else {
        throw new UnsupportedEncoderInputException(this, element);
    }
    // XmlHelper.validateDocument(encodedObject));
    return encodedObject;
}
Also used : NamedValueDocument(net.opengis.om.x20.NamedValueDocument) NamedValueType(net.opengis.om.x20.NamedValueType) OmObservation(org.n52.shetland.ogc.om.OmObservation) SosProcedureDescription(org.n52.shetland.ogc.sos.SosProcedureDescription) AbstractFeature(org.n52.shetland.ogc.gml.AbstractFeature) XmlObject(org.apache.xmlbeans.XmlObject) NamedValue(org.n52.shetland.ogc.om.NamedValue) NamedValuePropertyType(net.opengis.om.x20.NamedValuePropertyType) UnsupportedEncoderInputException(org.n52.svalbard.encode.exception.UnsupportedEncoderInputException)

Aggregations

NamedValue (org.n52.shetland.ogc.om.NamedValue)10 XmlObject (org.apache.xmlbeans.XmlObject)5 ReferenceType (org.n52.shetland.ogc.gml.ReferenceType)4 GeometryValue (org.n52.shetland.ogc.om.values.GeometryValue)4 Geometry (org.locationtech.jts.geom.Geometry)3 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 BigDecimal (java.math.BigDecimal)2 NamedValueType (net.opengis.om.x20.NamedValueType)2 BooleanValue (org.n52.shetland.ogc.om.values.BooleanValue)2 CountValue (org.n52.shetland.ogc.om.values.CountValue)2 HrefAttributeValue (org.n52.shetland.ogc.om.values.HrefAttributeValue)2 ReferenceValue (org.n52.shetland.ogc.om.values.ReferenceValue)2 TextValue (org.n52.shetland.ogc.om.values.TextValue)2 W3CHrefAttribute (org.n52.shetland.w3c.xlink.W3CHrefAttribute)2 UnsupportedDecoderInputException (org.n52.svalbard.decode.exception.UnsupportedDecoderInputException)2 ReferenceType (net.opengis.gml.x32.ReferenceType)1 NamedValueDocument (net.opengis.om.x20.NamedValueDocument)1 NamedValuePropertyType (net.opengis.om.x20.NamedValuePropertyType)1 XmlBoolean (org.apache.xmlbeans.XmlBoolean)1 XmlDouble (org.apache.xmlbeans.XmlDouble)1