Search in sources :

Example 11 with CategoryValue

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

the class AbstractTimeLocationValueTripleTypeEncoder method convertToSweCategory.

/**
 * Convert {@link CategoryValue} to {@link SweCategory}
 *
 * @param categoryValue
 *            The {@link CategoryValue} to convert
 * @return Converted {@link CategoryValue}
 */
private SweCategory convertToSweCategory(CategoryValue categoryValue) {
    SweCategory sweCategory = new SweCategory();
    sweCategory.setValue(categoryValue.getValue());
    sweCategory.setCodeSpace(categoryValue.getUnit());
    return sweCategory;
}
Also used : SweCategory(org.n52.shetland.ogc.swe.simpleType.SweCategory)

Example 12 with CategoryValue

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

the class AbstractTimeLocationValueTripleTypeEncoder method createCategoricalTimeLocationValueTripleType.

/**
 * Create a {@link CategoricalTimeLocationValueTripleType} from
 * {@link TimeLocationValueTriple}
 *
 * @param timeLocationValueTriple
 *            The {@link TimeLocationValueTriple} to encode
 * @return The encoded {@link TimeLocationValueTriple}
 * @throws EncodingException
 *             If an error occurs
 */
private TimeValuePairType createCategoricalTimeLocationValueTripleType(TimeLocationValueTriple timeLocationValueTriple) throws EncodingException {
    CategoricalTimeLocationValueTripleType ctlvtt = CategoricalTimeLocationValueTripleType.Factory.newInstance();
    ctlvtt.addNewTime().setStringValue(getTimeString(timeLocationValueTriple.getTime()));
    ctlvtt.addNewLocation().addNewPoint().set(encodeGML(timeLocationValueTriple.getLocation()));
    if (timeLocationValueTriple.getValue() instanceof CategoryValue) {
        CategoryValue categoryValue = (CategoryValue) timeLocationValueTriple.getValue();
        if (categoryValue.isSetValue()) {
            ctlvtt.addNewValue().addNewCategory().set(encodeSweCommon(convertToSweCategory(categoryValue)));
        } else {
            ctlvtt.addNewValue().setNil();
            ctlvtt.addNewMetadata().addNewTVPMetadata().addNewNilReason().setNilReason(MISSING);
        }
    }
    return ctlvtt;
}
Also used : CategoricalTimeLocationValueTripleType(eu.europa.ec.inspire.schemas.omso.x30.CategoricalTimeLocationValueTripleType) CategoryValue(org.n52.shetland.ogc.om.values.CategoryValue)

Example 13 with CategoryValue

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

the class AbstractGmlDecoderv321 method parseNamedValueValue.

protected NamedValue<?> parseNamedValueValue(XmlObject xml) throws DecodingException {
    XmlObject xmlObject = xml;
    if (xmlObject.schemaType() == XmlAnyTypeImpl.type) {
        try {
            xmlObject = XmlObject.Factory.parse(xml.xmlText().trim());
        } catch (XmlException e) {
            LOGGER.error("Error while parsing NamedValueValue", e);
        }
    }
    Object value;
    if (XmlBoolean.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
        value = ((XmlBoolean) xmlObject).getBooleanValue();
    } else if (XmlString.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
        value = ((XmlString) xmlObject).getStringValue();
    } else if (XmlInt.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
        value = ((XmlInt) xmlObject).getIntValue();
    } else if (XmlInteger.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
        value = ((XmlInteger) xmlObject).getBigIntegerValue().intValue();
    } else if (XmlDouble.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
        value = ((XmlDouble) xmlObject).getDoubleValue();
    } else {
        value = decodeXmlObject(xmlObject);
    }
    if (value instanceof BooleanValue) {
        NamedValue<Boolean> namedValue = new NamedValue<>();
        namedValue.setValue((BooleanValue) value);
        return namedValue;
    } else if (value instanceof SweBoolean) {
        NamedValue<Boolean> namedValue = new NamedValue<>();
        namedValue.setValue(new BooleanValue(((SweBoolean) value).getValue()));
        return namedValue;
    } else if (value instanceof Boolean) {
        NamedValue<Boolean> namedValue = new NamedValue<>();
        namedValue.setValue(new BooleanValue((Boolean) value));
        return namedValue;
    } else if (value instanceof CategoryValue) {
        NamedValue<String> namedValue = new NamedValue<>();
        namedValue.setValue((CategoryValue) value);
        return namedValue;
    } else if (value instanceof SweCategory) {
        NamedValue<String> namedValue = new NamedValue<>();
        namedValue.setValue(new CategoryValue(((SweCategory) value).getValue(), ((SweCategory) value).getCodeSpace()));
        return namedValue;
    } else if (value instanceof CountValue) {
        NamedValue<Integer> namedValue = new NamedValue<>();
        namedValue.setValue((CountValue) value);
        return namedValue;
    } else if (value instanceof SweCount) {
        NamedValue<Integer> namedValue = new NamedValue<>();
        namedValue.setValue(new CountValue(((SweCount) value).getValue()));
        return namedValue;
    } else if (value instanceof Integer) {
        NamedValue<Integer> namedValue = new NamedValue<>();
        namedValue.setValue(new CountValue((Integer) value));
        return namedValue;
    } else if (value instanceof GeometryValue) {
        NamedValue<Geometry> namedValue = new NamedValue<>();
        namedValue.setValue((GeometryValue) value);
        return namedValue;
    } else if (value instanceof QuantityValue) {
        NamedValue<BigDecimal> namedValue = new NamedValue<>();
        namedValue.setValue((QuantityValue) value);
        return namedValue;
    } else if (value instanceof GmlMeasureType) {
        NamedValue<BigDecimal> namedValue = new NamedValue<>();
        namedValue.setValue(new QuantityValue(((GmlMeasureType) value).getValue(), ((GmlMeasureType) value).getUnit()));
        return namedValue;
    } else if (value instanceof SweQuantity) {
        NamedValue<BigDecimal> namedValue = new NamedValue<>();
        namedValue.setValue(new QuantityValue(((SweQuantity) value).getValue(), ((SweQuantity) value).getUom()));
        return namedValue;
    } else if (value instanceof Double) {
        NamedValue<BigDecimal> namedValue = new NamedValue<>();
        namedValue.setValue(new QuantityValue((Double) value));
        return namedValue;
    } else if (value instanceof TextValue) {
        NamedValue<String> namedValue = new NamedValue<>();
        namedValue.setValue((TextValue) value);
        return namedValue;
    } else if (value instanceof SweText) {
        NamedValue<String> namedValue = new NamedValue<>();
        namedValue.setValue(new TextValue(((SweText) value).getValue()));
        return namedValue;
    } else if (value instanceof String) {
        NamedValue<String> namedValue = new NamedValue<>();
        namedValue.setValue(new TextValue((String) value));
        return namedValue;
    } else if (value instanceof AbstractGeometry) {
        NamedValue<Geometry> namedValue = new NamedValue<>();
        namedValue.setValue(new GeometryValue((AbstractGeometry) value));
        return namedValue;
    } else if (value instanceof org.n52.shetland.ogc.gml.ReferenceType) {
        NamedValue<org.n52.shetland.ogc.gml.ReferenceType> namedValue = new NamedValue<>();
        namedValue.setValue(new ReferenceValue((org.n52.shetland.ogc.gml.ReferenceType) value));
        return namedValue;
    } else if (value instanceof W3CHrefAttribute) {
        NamedValue<W3CHrefAttribute> namedValue = new NamedValue<>();
        namedValue.setValue(new HrefAttributeValue((W3CHrefAttribute) value));
        return namedValue;
    } else {
        throw new UnsupportedDecoderInputException(this, xmlObject);
    }
}
Also used : SweQuantity(org.n52.shetland.ogc.swe.simpleType.SweQuantity) SweText(org.n52.shetland.ogc.swe.simpleType.SweText) AbstractGeometry(org.n52.shetland.ogc.gml.AbstractGeometry) ReferenceValue(org.n52.shetland.ogc.om.values.ReferenceValue) NamedValue(org.n52.shetland.ogc.om.NamedValue) XmlString(org.apache.xmlbeans.XmlString) SweBoolean(org.n52.shetland.ogc.swe.simpleType.SweBoolean) CountValue(org.n52.shetland.ogc.om.values.CountValue) BooleanValue(org.n52.shetland.ogc.om.values.BooleanValue) SweCategory(org.n52.shetland.ogc.swe.simpleType.SweCategory) SweBoolean(org.n52.shetland.ogc.swe.simpleType.SweBoolean) XmlBoolean(org.apache.xmlbeans.XmlBoolean) HrefAttributeValue(org.n52.shetland.ogc.om.values.HrefAttributeValue) XmlString(org.apache.xmlbeans.XmlString) SweCount(org.n52.shetland.ogc.swe.simpleType.SweCount) W3CHrefAttribute(org.n52.shetland.w3c.xlink.W3CHrefAttribute) XmlDouble(org.apache.xmlbeans.XmlDouble) UnsupportedDecoderInputException(org.n52.svalbard.decode.exception.UnsupportedDecoderInputException) BigDecimal(java.math.BigDecimal) XmlInteger(org.apache.xmlbeans.XmlInteger) Geometry(org.locationtech.jts.geom.Geometry) AbstractGeometry(org.n52.shetland.ogc.gml.AbstractGeometry) GeometryValue(org.n52.shetland.ogc.om.values.GeometryValue) XmlException(org.apache.xmlbeans.XmlException) QuantityValue(org.n52.shetland.ogc.om.values.QuantityValue) TextValue(org.n52.shetland.ogc.om.values.TextValue) CategoryValue(org.n52.shetland.ogc.om.values.CategoryValue) XmlObject(org.apache.xmlbeans.XmlObject) XmlObject(org.apache.xmlbeans.XmlObject) GmlMeasureType(org.n52.shetland.ogc.gml.GmlMeasureType)

Example 14 with CategoryValue

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

the class ObservationEncoder method encodeCategoryValue.

private JsonNode encodeCategoryValue(Value<?> value) {
    CategoryValue categoryValue = (CategoryValue) value;
    ObjectNode node = nodeFactory().objectNode();
    node.put(JSONConstants.CODESPACE, categoryValue.getUnit());
    node.put(JSONConstants.VALUE, categoryValue.getValue());
    return node;
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) CategoryValue(org.n52.shetland.ogc.om.values.CategoryValue)

Example 15 with CategoryValue

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

the class RectifiedGridCoverageDocumentEncoderTest method getCategoryRectifiedGridCoverage.

private RectifiedGridCoverage getCategoryRectifiedGridCoverage() {
    RectifiedGridCoverage rgc = new RectifiedGridCoverage("category");
    rgc.setUnit("d");
    rgc.setRangeParameters("category_param");
    rgc.addValue(new QuantityRangeValue(BigDecimal.valueOf(0.0), BigDecimal.valueOf(5.0), "m"), new CategoryValue("test category"));
    rgc.addValue(new QuantityRangeValue(BigDecimal.valueOf(5.0), BigDecimal.valueOf(10.0), "m"), new CategoryValue("test category 2"));
    rgc.addValue(new QuantityRangeValue(BigDecimal.valueOf(10.0), BigDecimal.valueOf(15.0), "m"), new CategoryValue("test category 2 test"));
    return rgc;
}
Also used : QuantityRangeValue(org.n52.shetland.ogc.om.values.QuantityRangeValue) CategoryValue(org.n52.shetland.ogc.om.values.CategoryValue) RectifiedGridCoverage(org.n52.shetland.ogc.om.values.RectifiedGridCoverage)

Aggregations

CategoryValue (org.n52.shetland.ogc.om.values.CategoryValue)13 QuantityValue (org.n52.shetland.ogc.om.values.QuantityValue)8 TextValue (org.n52.shetland.ogc.om.values.TextValue)6 BooleanValue (org.n52.shetland.ogc.om.values.BooleanValue)5 CountValue (org.n52.shetland.ogc.om.values.CountValue)5 GeometryValue (org.n52.shetland.ogc.om.values.GeometryValue)4 SweCategory (org.n52.shetland.ogc.swe.simpleType.SweCategory)4 XmlBoolean (org.apache.xmlbeans.XmlBoolean)3 XmlInteger (org.apache.xmlbeans.XmlInteger)3 XmlObject (org.apache.xmlbeans.XmlObject)3 XmlString (org.apache.xmlbeans.XmlString)3 Test (org.junit.Test)3 Geometry (org.locationtech.jts.geom.Geometry)3 SweQuantity (org.n52.shetland.ogc.swe.simpleType.SweQuantity)3 BigDecimal (java.math.BigDecimal)2 XmlException (org.apache.xmlbeans.XmlException)2 AbstractGeometry (org.n52.shetland.ogc.gml.AbstractGeometry)2 CodeType (org.n52.shetland.ogc.gml.CodeType)2 GmlMeasureType (org.n52.shetland.ogc.gml.GmlMeasureType)2 SingleObservationValue (org.n52.shetland.ogc.om.SingleObservationValue)2