Search in sources :

Example 31 with Type

use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.

the class WmlTVPEncoderv20Test method shouldEncodeInterpolationType.

@Test
public void shouldEncodeInterpolationType() throws EncodingException, XmlException {
    final InterpolationType type = WaterMLConstants.InterpolationType.MinPrec;
    mv.setDefaultPointMetadata(new DefaultPointMetadata().setDefaultTVPMeasurementMetadata(new DefaultTVPMeasurementMetadata().setInterpolationtype(type)));
    XmlObject encodedElement = encoder.encode(mv);
    TVPDefaultMetadataPropertyType defaultPointMetadata = ((MeasurementTimeseriesDocument) encodedElement).getTimeseries().getDefaultPointMetadataArray(0);
    DefaultTVPMeasurementMetadataDocument tvpMeasurementMetadataDocument = DefaultTVPMeasurementMetadataDocument.Factory.parse(defaultPointMetadata.xmlText());
    ReferenceType interpolationType = tvpMeasurementMetadataDocument.getDefaultTVPMeasurementMetadata().getInterpolationType();
    Assert.assertThat(interpolationType.getHref(), Is.is("http://www.opengis.net/def/waterml/2.0/interpolationType/MinPrec"));
    Assert.assertThat(interpolationType.getTitle(), Is.is("MinPrec"));
}
Also used : DefaultPointMetadata(org.n52.shetland.ogc.om.series.wml.DefaultPointMetadata) TVPDefaultMetadataPropertyType(net.opengis.waterml.x20.TVPDefaultMetadataPropertyType) DefaultTVPMeasurementMetadata(org.n52.shetland.ogc.om.series.wml.DefaultTVPMeasurementMetadata) XmlObject(org.apache.xmlbeans.XmlObject) DefaultTVPMeasurementMetadataDocument(net.opengis.waterml.x20.DefaultTVPMeasurementMetadataDocument) InterpolationType(org.n52.shetland.ogc.om.series.wml.WaterMLConstants.InterpolationType) ReferenceType(net.opengis.gml.x32.ReferenceType) Test(org.junit.Test)

Example 32 with Type

use of org.n52.shetland.w3c.xlink.Type in project series-rest-api by 52North.

the class QuantityIoFactory method createHandler.

@Override
public IoHandler<QuantityData> createHandler(String outputMimeType) {
    IoParameters parameters = getParameters();
    MimeType mimeType = MimeType.toInstance(outputMimeType);
    if (mimeType == MimeType.IMAGE_PNG) {
        return createMultiChartRenderer(mimeType);
    } else if (mimeType == MimeType.APPLICATION_PDF) {
        ChartIoHandler imgRenderer = createMultiChartRenderer(mimeType);
        PDFReportGenerator reportGenerator = new PDFReportGenerator(getRequestParameters(), createProcessChain(), imgRenderer);
        reportGenerator.setBaseURI(getBasePath());
        return reportGenerator;
    } else if (mimeType == MimeType.TEXT_CSV || mimeType == MimeType.APPLICATION_ZIP) {
        QuantityCsvIoHandler handler = new QuantityCsvIoHandler(getRequestParameters(), createProcessChain(), getMetadatas());
        handler.setTokenSeparator(parameters.getOther("tokenSeparator"));
        boolean zipOutput = parameters.getAsBoolean(MimeType.APPLICATION_ZIP.name());
        handler.setZipOutput(zipOutput || mimeType == MimeType.APPLICATION_ZIP);
        boolean byteOderMark = Boolean.parseBoolean(parameters.getOther("bom"));
        handler.setIncludeByteOrderMark(byteOderMark);
        return handler;
    }
    String msg = "The requested media type '" + outputMimeType + "' is not supported.";
    IllegalArgumentException exception = new IllegalArgumentException(msg);
    throw exception;
}
Also used : QuantityCsvIoHandler(org.n52.io.quantity.csv.QuantityCsvIoHandler) ChartIoHandler(org.n52.io.quantity.img.ChartIoHandler) IoParameters(org.n52.io.request.IoParameters) PDFReportGenerator(org.n52.io.quantity.report.PDFReportGenerator) MimeType(org.n52.io.MimeType)

Example 33 with Type

use of org.n52.shetland.w3c.xlink.Type in project series-rest-api by 52North.

the class IoParametersTest method when_jsonBbox_then_parsingSpatialFilter.

@Test
public void when_jsonBbox_then_parsingSpatialFilter() throws ParseException {
    Map<String, String> map = Collections.singletonMap("bbox", "{\"ll\":{\"type\":\"Point\",\"coordinates\":[6.7,51.7]},\"ur\":{\"type\":\"Point\",\"coordinates\":[7.9,51.9]}}");
    IoParameters parameters = createFromSingleValueMap(map);
    BoundingBox actual = parameters.getSpatialFilter();
    WKTReader wktReader = new WKTReader();
    Geometry ll = wktReader.read("POINT (6.7 51.7)");
    Geometry ur = wktReader.read("POINT(7.9 51.9)");
    Assert.assertTrue(actual.getLowerLeft().equals(ll));
    Assert.assertTrue(actual.getUpperRight().equals(ur));
}
Also used : Geometry(com.vividsolutions.jts.geom.Geometry) BoundingBox(org.n52.io.crs.BoundingBox) WKTReader(com.vividsolutions.jts.io.WKTReader) Test(org.junit.Test)

Example 34 with Type

use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.

the class SweHelper method createBlock.

@SuppressFBWarnings("BC_VACUOUS_INSTANCEOF")
private List<String> createBlock(SweAbstractDataComponent elementType, Time phenomenonTime, String phenID, Value<?> value) {
    if (elementType instanceof SweDataRecord) {
        SweDataRecord elementTypeRecord = (SweDataRecord) elementType;
        List<String> block = new ArrayList<>(elementTypeRecord.getFields().size());
        if (!(value instanceof NilTemplateValue)) {
            elementTypeRecord.getFields().forEach(field -> {
                if (field.getElement() instanceof SweTime || field.getElement() instanceof SweTimeRange) {
                    block.add(DateTimeHelper.format(phenomenonTime));
                } else if (field.getElement() instanceof SweAbstractDataComponent && field.getElement().getDefinition().equals(phenID)) {
                    block.add(value.getValue().toString());
                } else if (field.getElement() instanceof SweObservableProperty) {
                    block.add(phenID);
                }
            });
        }
        return block;
    }
    String exceptionMsg = String.format("Type of ElementType is not supported: %s", elementType != null ? elementType.getClass().getName() : "null");
    LOGGER.debug(exceptionMsg);
    throw new IllegalArgumentException(exceptionMsg);
}
Also used : SweTime(org.n52.shetland.ogc.swe.simpleType.SweTime) SweDataRecord(org.n52.shetland.ogc.swe.SweDataRecord) SweAbstractDataComponent(org.n52.shetland.ogc.swe.SweAbstractDataComponent) ArrayList(java.util.ArrayList) NilTemplateValue(org.n52.shetland.ogc.om.values.NilTemplateValue) SweTimeRange(org.n52.shetland.ogc.swe.simpleType.SweTimeRange) SweObservableProperty(org.n52.shetland.ogc.swe.simpleType.SweObservableProperty) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings)

Example 35 with Type

use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.

the class GeoJSONDecoder method decodeGeometry.

protected Geometry decodeGeometry(Object o, GeometryFactory parentFactory) throws GeoJSONDecodingException {
    if (!(o instanceof JsonNode)) {
        throw new GeoJSONDecodingException("Cannot decode " + o);
    }
    final JsonNode node = (JsonNode) o;
    final String type = getType(node);
    final GeometryFactory factory = getGeometryFactory(node, parentFactory);
    switch(type) {
        case JSONConstants.POINT:
            return decodePoint(node, factory);
        case JSONConstants.MULTI_POINT:
            return decodeMultiPoint(node, factory);
        case JSONConstants.LINE_STRING:
            return decodeLineString(node, factory);
        case JSONConstants.MULTI_LINE_STRING:
            return decodeMultiLineString(node, factory);
        case JSONConstants.POLYGON:
            return decodePolygon(node, factory);
        case JSONConstants.MULTI_POLYGON:
            return decodeMultiPolygon(node, factory);
        case JSONConstants.GEOMETRY_COLLECTION:
            return decodeGeometryCollection(node, factory);
        default:
            throw new GeoJSONDecodingException("Unkown geometry type: " + type);
    }
}
Also used : GeometryFactory(org.locationtech.jts.geom.GeometryFactory) JsonNode(com.fasterxml.jackson.databind.JsonNode) GeoJSONDecodingException(org.n52.svalbard.coding.json.GeoJSONDecodingException) MultiLineString(org.locationtech.jts.geom.MultiLineString) LineString(org.locationtech.jts.geom.LineString)

Aggregations

XmlObject (org.apache.xmlbeans.XmlObject)27 DecodingException (org.n52.svalbard.decode.exception.DecodingException)15 Actuate (org.n52.shetland.w3c.xlink.Actuate)14 Reference (org.n52.shetland.w3c.xlink.Reference)14 Show (org.n52.shetland.w3c.xlink.Show)14 Type (org.n52.shetland.w3c.xlink.Type)14 ActuateType (org.w3.x1999.xlink.ActuateType)14 ShowType (org.w3.x1999.xlink.ShowType)14 TypeType (org.w3.x1999.xlink.TypeType)14 SweAbstractDataComponent (org.n52.shetland.ogc.swe.SweAbstractDataComponent)13 AbstractCRSType (net.opengis.gml.x32.AbstractCRSType)10 CodeType (net.opengis.gml.x32.CodeType)10 EXExtentType (org.isotc211.x2005.gmd.EXExtentType)10 Test (org.junit.Test)10 XmlException (org.apache.xmlbeans.XmlException)9 TimeInstant (org.n52.shetland.ogc.gml.time.TimeInstant)9 CIResponsiblePartyPropertyType (org.isotc211.x2005.gmd.CIResponsiblePartyPropertyType)8 CIResponsiblePartyType (org.isotc211.x2005.gmd.CIResponsiblePartyType)8 BaseUnitType (net.opengis.gml.x32.BaseUnitType)6 SupportedType (org.n52.shetland.ogc.SupportedType)6