Search in sources :

Example 1 with EnvelopeType

use of net.opengis.swe.x101.EnvelopeType in project ddf by codice.

the class RegistryPackageWebConverterTest method getFirstExtrinsicObject.

private ExtrinsicObjectType getFirstExtrinsicObject() {
    ExtrinsicObjectType extrinsicObject = RIM_FACTORY.createExtrinsicObjectType();
    // set default values
    extrinsicObject.setMimeType(extrinsicObject.getMimeType());
    extrinsicObject.setIsOpaque(extrinsicObject.isIsOpaque());
    extrinsicObject.setId("urn:registry:node");
    extrinsicObject.setObjectType("urn:registry:federation:node");
    extrinsicObject.getSlot().add(stHelper.create("liveDate", "2015-11-01T06:15:30-07:00", "xs:dateTime"));
    extrinsicObject.getSlot().add(stHelper.create("dataStartDate", "2015-11-01T13:15:30Z", "xs:dateTime"));
    extrinsicObject.getSlot().add(stHelper.create("dataEndDate", "2015-12-01T23:01:40Z", "xs:dateTime"));
    extrinsicObject.getSlot().add(stHelper.create("lastUpdated", "2016-01-26T17:16:34.996Z", "xs:dateTime"));
    extrinsicObject.getSlot().add(stHelper.create("links", "https://some/link/to/my/repo", "xs:string"));
    SlotType1 locationSlot = stHelper.create("location", (String) null, "urn:ogc:def:dataType:ISO-19107:2003:GM_Point");
    PointType point = GML_FACTORY.createPointType();
    point.setSrsDimension(BigInteger.valueOf(2));
    point.setSrsName("urn:ogc:def:crs:EPSG::4326");
    DirectPositionType directPosition = GML_FACTORY.createDirectPositionType();
    directPosition.getValue().add(112.267472);
    directPosition.getValue().add(33.467944);
    point.setPos(directPosition);
    ValueListType valueList = WRS_FACTORY.createValueListType();
    AnyValueType anyValue = WRS_FACTORY.createAnyValueType();
    anyValue.getContent().add(GML_FACTORY.createPoint(point));
    valueList.getAnyValue().add(anyValue);
    locationSlot.setValueList(RIM_FACTORY.createValueList(valueList));
    extrinsicObject.getSlot().add(locationSlot);
    SlotType1 boundsSlot = stHelper.create("bounds", (String) null, "urn:ogc:def:dataType:ISO-19107:2003:GM_Envelope");
    EnvelopeType bounds = GML_FACTORY.createEnvelopeType();
    bounds.setSrsName("urn:ogc:def:crs:EPSG::4326");
    directPosition = GML_FACTORY.createDirectPositionType();
    directPosition.getValue().add(112.267472);
    directPosition.getValue().add(33.467944);
    bounds.setUpperCorner(directPosition);
    directPosition = GML_FACTORY.createDirectPositionType();
    directPosition.getValue().add(110.267472);
    directPosition.getValue().add(30.467944);
    bounds.setLowerCorner(directPosition);
    valueList = WRS_FACTORY.createValueListType();
    anyValue = WRS_FACTORY.createAnyValueType();
    anyValue.getContent().add(GML_FACTORY.createEnvelope(bounds));
    valueList.getAnyValue().add(anyValue);
    boundsSlot.setValueList(RIM_FACTORY.createValueList(valueList));
    extrinsicObject.getSlot().add(boundsSlot);
    extrinsicObject.getSlot().add(stHelper.create("region", "USA", "urn:ogc:def:ebRIM-ClassificationScheme:UNSD:GlobalRegions"));
    List<String> values = new ArrayList<>();
    values.add("youtube");
    values.add("myCamera");
    extrinsicObject.getSlot().add(stHelper.create("inputDataSources", values, "xs:string"));
    values = new ArrayList<>();
    values.add("video");
    values.add("sensor");
    extrinsicObject.getSlot().add(stHelper.create("dataTypes", values, "xs:string"));
    extrinsicObject.getSlot().add(stHelper.create("securityLevel", "role=guest", "xs:string"));
    extrinsicObject.setName(istHelper.create("Node Name"));
    extrinsicObject.setDescription(istHelper.create("A little something describing this node in less than 1024 characters"));
    extrinsicObject.setVersionInfo(getVersionInfo("2.9.x"));
    ClassificationType classification = RIM_FACTORY.createClassificationType();
    classification.setId("urn:classification:id0");
    classification.setClassifiedObject("classifiedObjectId");
    extrinsicObject.getClassification().add(classification);
    return extrinsicObject;
}
Also used : EnvelopeType(net.opengis.gml.v_3_1_1.EnvelopeType) SlotType1(oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1) DirectPositionType(net.opengis.gml.v_3_1_1.DirectPositionType) ValueListType(net.opengis.cat.wrs.v_1_0_2.ValueListType) ArrayList(java.util.ArrayList) ExtrinsicObjectType(oasis.names.tc.ebxml_regrep.xsd.rim._3.ExtrinsicObjectType) PointType(net.opengis.gml.v_3_1_1.PointType) AnyValueType(net.opengis.cat.wrs.v_1_0_2.AnyValueType) ClassificationType(oasis.names.tc.ebxml_regrep.xsd.rim._3.ClassificationType)

Example 2 with EnvelopeType

use of net.opengis.swe.x101.EnvelopeType 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);
}
Also used : EnvelopeType(net.opengis.gml.v_3_2_1.EnvelopeType) DirectPositionType(net.opengis.gml.v_3_2_1.DirectPositionType) Envelope(com.vividsolutions.jts.geom.Envelope)

Example 3 with EnvelopeType

use of net.opengis.swe.x101.EnvelopeType in project arctic-sea by 52North.

the class SweCommonEncoderv101Test method should_encode_ReferencedEnvelope.

@Test
public void should_encode_ReferencedEnvelope() throws EncodingException {
    final int srid = 4326;
    final double y1 = 7.0;
    final double x1 = 51.0;
    final double y2 = 8.0;
    final double x2 = 52.0;
    final String uom = "test-uom";
    final String definition = "test-definition";
    final SweEnvelope sweEnvelope = new SweEnvelope(new ReferencedEnvelope(new Envelope(x1, x2, y1, y2), srid), uom, true);
    final String xAxisId = "x";
    final String yAxisId = "y";
    final String northing = "northing";
    final String easting = "easting";
    sweEnvelope.setDefinition(definition);
    final XmlObject encode = sweCommonEncoderv101.encode(sweEnvelope);
    assertThat(encode, instanceOf(EnvelopeType.class));
    final EnvelopeType xbEnvelope = (EnvelopeType) encode;
    assertThat(xbEnvelope.isSetDefinition(), is(true));
    assertThat(xbEnvelope.getDefinition(), is(definition));
    final Coordinate lcX = xbEnvelope.getLowerCorner().getVector().getCoordinateArray(0);
    assertThat(lcX.getName(), is(easting));
    assertThat(lcX.getQuantity().getAxisID(), is(xAxisId));
    assertThat(lcX.getQuantity().getUom().getCode(), is(uom));
    assertThat(lcX.getQuantity().getValue(), is(y1));
    final Coordinate lcY = xbEnvelope.getLowerCorner().getVector().getCoordinateArray(1);
    assertThat(lcY.getName(), is(northing));
    assertThat(lcY.getQuantity().getAxisID(), is(yAxisId));
    assertThat(lcY.getQuantity().getUom().getCode(), is(uom));
    assertThat(lcY.getQuantity().getValue(), is(x1));
    final Coordinate ucX = xbEnvelope.getUpperCorner().getVector().getCoordinateArray(0);
    assertThat(ucX.getName(), is(easting));
    assertThat(ucX.getQuantity().getAxisID(), is(xAxisId));
    assertThat(ucX.getQuantity().getUom().getCode(), is(uom));
    assertThat(ucX.getQuantity().getValue(), is(y2));
    final Coordinate ucY = xbEnvelope.getUpperCorner().getVector().getCoordinateArray(1);
    assertThat(ucY.getName(), is(northing));
    assertThat(ucY.getQuantity().getAxisID(), is(yAxisId));
    assertThat(ucY.getQuantity().getUom().getCode(), is(uom));
    assertThat(ucY.getQuantity().getValue(), is(x2));
    assertThat(xbEnvelope.isSetReferenceFrame(), is(true));
    assertThat(xbEnvelope.getReferenceFrame(), is("" + srid));
}
Also used : ReferencedEnvelope(org.n52.shetland.util.ReferencedEnvelope) EnvelopeType(net.opengis.swe.x101.EnvelopeType) SweEnvelope(org.n52.shetland.ogc.swe.SweEnvelope) Coordinate(net.opengis.swe.x101.VectorType.Coordinate) XmlObject(org.apache.xmlbeans.XmlObject) ReferencedEnvelope(org.n52.shetland.util.ReferencedEnvelope) SweEnvelope(org.n52.shetland.ogc.swe.SweEnvelope) Envelope(org.locationtech.jts.geom.Envelope) Test(org.junit.Test)

Example 4 with EnvelopeType

use of net.opengis.swe.x101.EnvelopeType in project ddf by codice.

the class SlotTypeConverter method getEnvelope.

private Optional<EnvelopeType> getEnvelope(Map<String, Object> envelopeMap) {
    Optional<EnvelopeType> optionalEnvelope = Optional.empty();
    if (MapUtils.isEmpty(envelopeMap)) {
        return optionalEnvelope;
    }
    optionalEnvelope = Optional.of(GML_FACTORY.createEnvelopeType());
    String valueToPopulate = MapUtils.getString(envelopeMap, SRS_NAME);
    if (StringUtils.isNotBlank(valueToPopulate)) {
        optionalEnvelope.get().setSrsName(valueToPopulate);
    }
    String upperCorner = MapUtils.getString(envelopeMap, UPPER_CORNER);
    String lowerCorner = MapUtils.getString(envelopeMap, LOWER_CORNER);
    if (StringUtils.isNotBlank(upperCorner)) {
        List<Double> values = Arrays.stream(StringUtils.split(upperCorner)).map(e -> new Double(e)).collect(Collectors.toList());
        DirectPositionType directPosition = GML_FACTORY.createDirectPositionType();
        directPosition.setValue(values);
        optionalEnvelope.get().setUpperCorner(directPosition);
    }
    if (StringUtils.isNotBlank(lowerCorner)) {
        List<Double> values = Arrays.stream(StringUtils.split(lowerCorner)).map(e -> new Double(e)).collect(Collectors.toList());
        DirectPositionType directPosition = GML_FACTORY.createDirectPositionType();
        directPosition.setValue(values);
        optionalEnvelope.get().setLowerCorner(directPosition);
    }
    return optionalEnvelope;
}
Also used : DirectPositionType(net.opengis.gml.v_3_1_1.DirectPositionType) Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) MapToSchemaElement(org.codice.ddf.registry.schemabindings.helper.MapToSchemaElement) WebMapHelper(org.codice.ddf.registry.schemabindings.helper.WebMapHelper) AnyValueType(net.opengis.cat.wrs.v_1_0_2.AnyValueType) POINT_KEY(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.POINT_KEY) LOWER_CORNER(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.LOWER_CORNER) EnvelopeType(net.opengis.gml.v_3_1_1.EnvelopeType) GML_FACTORY(org.codice.ddf.registry.schemabindings.EbrimConstants.GML_FACTORY) NAME(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.NAME) RIM_FACTORY(org.codice.ddf.registry.schemabindings.EbrimConstants.RIM_FACTORY) ENVELOPE_KEY(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.ENVELOPE_KEY) POSITION(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.POSITION) SRS_DIMENSION(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.SRS_DIMENSION) CollectionUtils(org.apache.commons.collections.CollectionUtils) Map(java.util.Map) RegistryConstants(org.codice.ddf.registry.common.RegistryConstants) BigInteger(java.math.BigInteger) WRS_FACTORY(org.codice.ddf.registry.schemabindings.EbrimConstants.WRS_FACTORY) SRS_NAME(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.SRS_NAME) UPPER_CORNER(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.UPPER_CORNER) ValueListType(oasis.names.tc.ebxml_regrep.xsd.rim._3.ValueListType) MapUtils(org.apache.commons.collections.MapUtils) Collectors(java.util.stream.Collectors) List(java.util.List) SLOT_TYPE(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.SLOT_TYPE) SlotType1(oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1) VALUE(org.codice.ddf.registry.schemabindings.converter.web.SlotWebConverter.VALUE) PointType(net.opengis.gml.v_3_1_1.PointType) Optional(java.util.Optional) EnvelopeType(net.opengis.gml.v_3_1_1.EnvelopeType) DirectPositionType(net.opengis.gml.v_3_1_1.DirectPositionType)

Example 5 with EnvelopeType

use of net.opengis.swe.x101.EnvelopeType in project ddf by codice.

the class SlotWebConverter method getSlotBoundsMap.

private Map<String, Object> getSlotBoundsMap(SlotType1 slot) {
    Map<String, Object> map = new HashMap<>();
    if (!slot.isSetValueList()) {
        return map;
    }
    ValueListType valueList = (ValueListType) slot.getValueList().getValue();
    for (AnyValueType anyValue : valueList.getAnyValue()) {
        anyValue.getContent().stream().filter(content -> content instanceof JAXBElement).forEach(content -> {
            JAXBElement jaxbElement = (JAXBElement) content;
            if (jaxbElement.getValue() instanceof EnvelopeType) {
                Map<String, Object> boundsMap = getBoundsMapFromEnvelopeType((EnvelopeType) jaxbElement.getValue());
                if (MapUtils.isNotEmpty(boundsMap)) {
                    Map<String, Object> valueMap = new HashMap<>();
                    valueMap.put(ENVELOPE_KEY, boundsMap);
                    map.put(VALUE, valueMap);
                }
            }
        });
    }
    return map;
}
Also used : DirectPositionType(net.opengis.gml.v_3_1_1.DirectPositionType) StringUtils(org.apache.commons.lang.StringUtils) WebMapHelper(org.codice.ddf.registry.schemabindings.helper.WebMapHelper) MapUtils(org.apache.commons.collections.MapUtils) AnyValueType(net.opengis.cat.wrs.v_1_0_2.AnyValueType) JAXBElement(javax.xml.bind.JAXBElement) HashMap(java.util.HashMap) Collectors(java.util.stream.Collectors) EnvelopeType(net.opengis.gml.v_3_1_1.EnvelopeType) ArrayList(java.util.ArrayList) List(java.util.List) SlotType1(oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1) Map(java.util.Map) ValueListType(net.opengis.cat.wrs.v_1_0_2.ValueListType) PointType(net.opengis.gml.v_3_1_1.PointType) SlotTypeHelper(org.codice.ddf.registry.schemabindings.helper.SlotTypeHelper) RegistryConstants(org.codice.ddf.registry.common.RegistryConstants) EnvelopeType(net.opengis.gml.v_3_1_1.EnvelopeType) HashMap(java.util.HashMap) ValueListType(net.opengis.cat.wrs.v_1_0_2.ValueListType) AnyValueType(net.opengis.cat.wrs.v_1_0_2.AnyValueType) JAXBElement(javax.xml.bind.JAXBElement)

Aggregations

EnvelopeType (net.opengis.gml.v_3_1_1.EnvelopeType)6 AnyValueType (net.opengis.cat.wrs.v_1_0_2.AnyValueType)3 DirectPositionType (net.opengis.gml.v_3_1_1.DirectPositionType)3 PointType (net.opengis.gml.v_3_1_1.PointType)3 EnvelopeType (net.opengis.swe.x101.EnvelopeType)3 SlotType1 (oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1)3 Envelope (com.vividsolutions.jts.geom.Envelope)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Map (java.util.Map)2 Collectors (java.util.stream.Collectors)2 ValueListType (net.opengis.cat.wrs.v_1_0_2.ValueListType)2 MapUtils (org.apache.commons.collections.MapUtils)2 StringUtils (org.apache.commons.lang.StringUtils)2 XmlObject (org.apache.xmlbeans.XmlObject)2 RegistryConstants (org.codice.ddf.registry.common.RegistryConstants)2 WebMapHelper (org.codice.ddf.registry.schemabindings.helper.WebMapHelper)2 Geometry (com.vividsolutions.jts.geom.Geometry)1 BigInteger (java.math.BigInteger)1 Arrays (java.util.Arrays)1