Search in sources :

Example 11 with PointType

use of org.geotoolkit.gml.xml.v212.PointType in project geotoolkit by Geomatys.

the class PropertyTypeTest method setValueGeometryNewTest.

/**
 * Test simple Record Marshalling.
 *
 * @throws javax.xml.bind.JAXBException
 */
@Test
public void setValueGeometryNewTest() throws JAXBException {
    TransactionType transac = new TransactionType();
    PointType pt = new PointType(null, new DirectPositionType(2.1, 12.6));
    pt.setSrsName("urn:ogc:def:crs:epsg:7.4:4326");
    PropertyType prop = new PropertyType(new QName("something"), new ValueType(pt));
    transac.getInsertOrUpdateOrDelete().add(new UpdateElementType(null, Arrays.asList(prop), null, null, null));
    StringWriter sw = new StringWriter();
    // marshaller.marshal(transac, System.out);
    marshaller.marshal(transac, sw);
    Object result = unmarshaller.unmarshal(new StringReader(sw.toString()));
    assertEquals(transac, result);
    transac = new TransactionType();
    prop = new PropertyType(new QName("something"), new ValueType("jane"));
    transac.getInsertOrUpdateOrDelete().add(new UpdateElementType(null, Arrays.asList(prop), null, null, null));
    sw = new StringWriter();
    // marshaller.marshal(transac, System.out);
    marshaller.marshal(transac, sw);
    result = unmarshaller.unmarshal(new StringReader(sw.toString()));
    assertEquals(transac, result);
}
Also used : DirectPositionType(org.geotoolkit.gml.xml.v311.DirectPositionType) StringWriter(java.io.StringWriter) QName(javax.xml.namespace.QName) StringReader(java.io.StringReader) PointType(org.geotoolkit.gml.xml.v311.PointType)

Example 12 with PointType

use of org.geotoolkit.gml.xml.v212.PointType in project geotoolkit by Geomatys.

the class JsonBindingTest method testMarshallingExecuteV2.

@Test
public void testMarshallingExecuteV2() throws JAXBException, IOException, URISyntaxException {
    PointType pt = new PointType(new CoordinatesType());
    Format format = new Format().encoding("UTF8").mimeType("text/xml").schema("http://kk.com");
    final Execute executeRoot = new Execute();
    ComplexInput ci = new ComplexInput(format, new ValueType("not a point", null));
    Input dataInput = new Input("input1", ci);
    executeRoot.addInputsItem(dataInput);
    Output output = new Output();
    output.setId("out-1");
    output.setTransmissionMode(DataTransmissionMode.REFERENCE);
    executeRoot.setOutputs(Arrays.asList(output));
    executeRoot.setMode(org.geotoolkit.wps.xml.v200.Execute.Mode.async);
    executeRoot.setResponse(org.geotoolkit.wps.xml.v200.Execute.Response.document);
    ObjectMapper m = getMapper();
    StringWriter sw = new StringWriter();
    m.writeValue(sw, executeRoot);
    String expResult = IOUtilities.toString(IOUtilities.getResourceAsPath("json/executeRequest6.json"));
    expResult = expResult.replace(" ", "");
    expResult = expResult.replace("\n", "");
    String result = sw.toString().replace(" ", "");
    assertEquals(expResult, result);
}
Also used : StringWriter(java.io.StringWriter) PointType(org.geotoolkit.gml.xml.v321.PointType) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) CoordinatesType(org.geotoolkit.gml.xml.v321.CoordinatesType) Test(org.junit.Test)

Example 13 with PointType

use of org.geotoolkit.gml.xml.v212.PointType in project geotoolkit by Geomatys.

the class JAXPStreamFeatureWriter method setId.

/**
 * @param inc auto increment value, ids must be unique
 */
private void setId(AbstractGeometry gmlGeometry, String id) {
    if (gmlGeometry.getId() == null || gmlGeometry.getId().isEmpty()) {
        // do not override ids if they exist
        gmlGeometry.setId(id + (gidInc));
        gidInc++;
    }
    if (gmlGeometry instanceof MultiCurve) {
        for (CurveProperty po : ((MultiCurve) gmlGeometry).getCurveMember()) {
            final AbstractCurve child = po.getAbstractCurve();
            if (child instanceof AbstractGeometry) {
                setId((AbstractGeometry) child, id);
            }
        }
    } else if (gmlGeometry instanceof MultiSurface) {
        for (SurfaceProperty po : ((MultiSurface) gmlGeometry).getSurfaceMember()) {
            final AbstractSurface child = po.getAbstractSurface();
            if (child instanceof AbstractGeometry) {
                setId((AbstractGeometry) child, id);
            }
        }
    } else if (gmlGeometry instanceof MultiGeometryType) {
        for (GeometryPropertyType po : ((MultiGeometryType) gmlGeometry).getGeometryMember()) {
            final AbstractGeometryType child = po.getAbstractGeometry();
            if (child instanceof AbstractGeometry) {
                setId((AbstractGeometry) child, id);
            }
        }
    } else if (gmlGeometry instanceof MultiSolidType) {
        for (SolidPropertyType po : ((MultiSolidType) gmlGeometry).getSolidMember()) {
            final AbstractSolidType child = po.getAbstractSolid().getValue();
            if (child instanceof AbstractGeometry) {
                setId((AbstractGeometry) child, id);
            }
        }
    } else if (gmlGeometry instanceof MultiPointType) {
        for (PointPropertyType po : ((MultiPointType) gmlGeometry).getPointMember()) {
            final PointType child = po.getPoint();
            if (child instanceof AbstractGeometry) {
                setId((AbstractGeometry) child, id);
            }
        }
    }
}
Also used : AbstractGeometry(org.geotoolkit.gml.xml.AbstractGeometry) MultiSurface(org.geotoolkit.gml.xml.MultiSurface) AbstractGeometryType(org.geotoolkit.gml.xml.v321.AbstractGeometryType) MultiGeometryType(org.geotoolkit.gml.xml.v321.MultiGeometryType) MultiPointType(org.geotoolkit.gml.xml.v321.MultiPointType) AbstractSurface(org.geotoolkit.gml.xml.AbstractSurface) CurveProperty(org.geotoolkit.gml.xml.CurveProperty) AbstractSolidType(org.geotoolkit.gml.xml.v321.AbstractSolidType) MultiCurve(org.geotoolkit.gml.xml.MultiCurve) SurfaceProperty(org.geotoolkit.gml.xml.SurfaceProperty) SolidPropertyType(org.geotoolkit.gml.xml.v321.SolidPropertyType) PointType(org.geotoolkit.gml.xml.v321.PointType) MultiPointType(org.geotoolkit.gml.xml.v321.MultiPointType) AbstractCurve(org.geotoolkit.gml.xml.AbstractCurve) PointPropertyType(org.geotoolkit.gml.xml.v321.PointPropertyType) GeometryPropertyType(org.geotoolkit.gml.xml.v321.GeometryPropertyType) MultiSolidType(org.geotoolkit.gml.xml.v321.MultiSolidType)

Example 14 with PointType

use of org.geotoolkit.gml.xml.v212.PointType in project geotoolkit by Geomatys.

the class ObservationXMLBindingTest method marshallingTest.

/**
 * Test simple Record Marshalling.
 *
 * @throws java.lang.Exception
 */
@Test
public void marshallingTest() throws Exception {
    DirectPositionType pos = new DirectPositionType("urn:ogc:crs:espg:4326", 2, Arrays.asList(3.2, 6.5));
    PointType location = new PointType("point-ID", pos);
    SamplingPointType sp = new SamplingPointType("samplingID-007", "urn:sampling:test:007", "a sampling Test", new FeaturePropertyType(""), location);
    PhenomenonType observedProperty = new PhenomenonType("phenomenon-007", "urn:OGC:phenomenon-007");
    TimePeriodType samplingTime = new TimePeriodType("t1", "2007-01-01", "2008-09-09");
    TextBlockType encoding = new TextBlockType("encoding-001", ",", "@@", ".");
    List<AnyScalarPropertyType> fields = new ArrayList<>();
    AnyScalarPropertyType field = new AnyScalarPropertyType("text-field-001", new Text("urn:something", "some value"));
    fields.add(field);
    SimpleDataRecordType record = new SimpleDataRecordType(fields);
    DataArrayType array = new DataArrayType("array-001", 1, "array-001", record, encoding, "somevalue", null);
    DataArrayPropertyType arrayProp = new DataArrayPropertyType(array);
    ObservationType obs = new ObservationType("urn:Observation-007", "observation definition", sp, observedProperty, "urn:sensor:007", arrayProp, samplingTime);
    StringWriter sw = new StringWriter();
    marshaller.marshal(obs, sw);
    String result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    String expResult = "<om:Observation xmlns:sampling=\"http://www.opengis.net/sampling/1.0\"" + " xmlns:om=\"http://www.opengis.net/om/1.0\"" + " xmlns:xlink=\"http://www.w3.org/1999/xlink\"" + " xmlns:gml=\"http://www.opengis.net/gml\"" + " xmlns:swe=\"http://www.opengis.net/swe/1.0.1\"" + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + '\n' + "    <gml:name>urn:Observation-007</gml:name>" + '\n' + "    <om:samplingTime>" + '\n' + "        <gml:TimePeriod gml:id=\"t1\">" + '\n' + "            <gml:beginPosition>2007-01-01</gml:beginPosition>" + '\n' + "            <gml:endPosition>2008-09-09</gml:endPosition>" + '\n' + "        </gml:TimePeriod>" + '\n' + "    </om:samplingTime>" + '\n' + "    <om:procedure xlink:href=\"urn:sensor:007\"/>" + '\n' + "    <om:observedProperty>" + '\n' + "        <swe:Phenomenon gml:id=\"phenomenon-007\">" + '\n' + "            <gml:name>urn:OGC:phenomenon-007</gml:name>" + '\n' + "        </swe:Phenomenon>" + '\n' + "    </om:observedProperty>" + '\n' + "    <om:featureOfInterest>" + '\n' + "        <sampling:SamplingPoint gml:id=\"samplingID-007\">" + '\n' + "            <gml:description>a sampling Test</gml:description>" + '\n' + "            <gml:name>urn:sampling:test:007</gml:name>" + '\n' + "            <gml:boundedBy>" + '\n' + "                <gml:Null>not_bounded</gml:Null>" + '\n' + "            </gml:boundedBy>" + '\n' + "            <sampling:sampledFeature xlink:href=\"\"/>" + '\n' + "            <sampling:position>" + '\n' + "                <gml:Point gml:id=\"point-ID\">" + '\n' + "                    <gml:pos srsName=\"urn:ogc:crs:espg:4326\" srsDimension=\"2\">3.2 6.5</gml:pos>" + '\n' + "                </gml:Point>" + '\n' + "            </sampling:position>" + '\n' + "        </sampling:SamplingPoint>" + '\n' + "    </om:featureOfInterest>" + '\n' + "    <om:result xsi:type=\"swe:DataArrayPropertyType\" >" + '\n' + "        <swe:DataArray gml:id=\"array-001\">" + '\n' + "            <swe:elementCount>" + '\n' + "                <swe:Count>" + '\n' + "                    <swe:value>1</swe:value>" + '\n' + "                </swe:Count>" + '\n' + "            </swe:elementCount>" + '\n' + "            <swe:elementType name=\"array-001\">" + '\n' + "                <swe:SimpleDataRecord>" + '\n' + "                    <swe:field name=\"text-field-001\">" + '\n' + "                        <swe:Text definition=\"urn:something\">" + '\n' + "                            <swe:value>some value</swe:value>" + '\n' + "                        </swe:Text>" + '\n' + "                    </swe:field>" + '\n' + "                </swe:SimpleDataRecord>" + '\n' + "            </swe:elementType>" + '\n' + "            <swe:encoding>" + '\n' + "                <swe:TextBlock blockSeparator=\"@@\" decimalSeparator=\".\" tokenSeparator=\",\" id=\"encoding-001\"/>" + '\n' + "            </swe:encoding>" + '\n' + "            <swe:values>somevalue</swe:values>" + '\n' + "        </swe:DataArray>" + '\n' + "    </om:result>" + '\n' + "</om:Observation>\n";
    assertXmlEquals(expResult, result, "xmlns:*");
    UnitOfMeasureEntry uom = new UnitOfMeasureEntry("m", "meters", "distance", "meters");
    MeasureType meas = new MeasureType(uom, 7);
    MeasurementType measmt = new MeasurementType("urn:Observation-007", "observation definition", sp, observedProperty, "urn:sensor:007", meas, samplingTime);
    sw = new StringWriter();
    marshaller.marshal(measmt, sw);
    result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    expResult = "<om:Measurement xmlns:sampling=\"http://www.opengis.net/sampling/1.0\"" + " xmlns:om=\"http://www.opengis.net/om/1.0\"" + " xmlns:xlink=\"http://www.w3.org/1999/xlink\"" + " xmlns:gml=\"http://www.opengis.net/gml\"" + " xmlns:swe=\"http://www.opengis.net/swe/1.0.1\"" + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + '\n' + "    <gml:name>urn:Observation-007</gml:name>" + '\n' + "    <om:samplingTime>" + '\n' + "        <gml:TimePeriod gml:id=\"t1\">" + '\n' + "            <gml:beginPosition>2007-01-01</gml:beginPosition>" + '\n' + "            <gml:endPosition>2008-09-09</gml:endPosition>" + '\n' + "        </gml:TimePeriod>" + '\n' + "    </om:samplingTime>" + '\n' + "    <om:procedure xlink:href=\"urn:sensor:007\"/>" + '\n' + "    <om:observedProperty>" + '\n' + "        <swe:Phenomenon gml:id=\"phenomenon-007\">" + '\n' + "            <gml:name>urn:OGC:phenomenon-007</gml:name>" + '\n' + "        </swe:Phenomenon>" + '\n' + "    </om:observedProperty>" + '\n' + "    <om:featureOfInterest>" + '\n' + "        <sampling:SamplingPoint gml:id=\"samplingID-007\">" + '\n' + "            <gml:description>a sampling Test</gml:description>" + '\n' + "            <gml:name>urn:sampling:test:007</gml:name>" + '\n' + "            <gml:boundedBy>" + '\n' + "                <gml:Null>not_bounded</gml:Null>" + '\n' + "            </gml:boundedBy>" + '\n' + "            <sampling:sampledFeature xlink:href=\"\"/>" + '\n' + "            <sampling:position>" + '\n' + "                <gml:Point gml:id=\"point-ID\">" + '\n' + "                    <gml:pos srsName=\"urn:ogc:crs:espg:4326\" srsDimension=\"2\">3.2 6.5</gml:pos>" + '\n' + "                </gml:Point>" + '\n' + "            </sampling:position>" + '\n' + "        </sampling:SamplingPoint>" + '\n' + "    </om:featureOfInterest>" + '\n' + "    <om:result xsi:type=\"om:MeasureType\" uom=\"meters\">7.0</om:result>" + '\n' + "</om:Measurement>\n";
    assertXmlEquals(expResult, result, "xmlns:*");
    ObservationCollectionType collection = new ObservationCollectionType();
    collection.add(measmt);
    sw = new StringWriter();
    marshaller.marshal(collection, sw);
    result = sw.toString();
    // System.out.println(result);
    collection = new ObservationCollectionType();
    collection.add(obs.getTemporaryTemplate("temporaryName", samplingTime));
    sw = new StringWriter();
    marshaller.marshal(collection, sw);
    result = sw.toString();
}
Also used : ObservationType(org.geotoolkit.observation.xml.v100.ObservationType) DirectPositionType(org.geotoolkit.gml.xml.v311.DirectPositionType) PhenomenonType(org.geotoolkit.swe.xml.v101.PhenomenonType) AnyScalarPropertyType(org.geotoolkit.swe.xml.v101.AnyScalarPropertyType) ArrayList(java.util.ArrayList) MeasureType(org.geotoolkit.observation.xml.v100.MeasureType) ObservationCollectionType(org.geotoolkit.observation.xml.v100.ObservationCollectionType) Text(org.geotoolkit.swe.xml.v101.Text) DataArrayPropertyType(org.geotoolkit.swe.xml.v101.DataArrayPropertyType) TimePeriodType(org.geotoolkit.gml.xml.v311.TimePeriodType) StringWriter(java.io.StringWriter) SamplingPointType(org.geotoolkit.sampling.xml.v100.SamplingPointType) MeasurementType(org.geotoolkit.observation.xml.v100.MeasurementType) TextBlockType(org.geotoolkit.swe.xml.v101.TextBlockType) UnitOfMeasureEntry(org.geotoolkit.gml.xml.v311.UnitOfMeasureEntry) PointType(org.geotoolkit.gml.xml.v311.PointType) SamplingPointType(org.geotoolkit.sampling.xml.v100.SamplingPointType) FeaturePropertyType(org.geotoolkit.gml.xml.v311.FeaturePropertyType) SimpleDataRecordType(org.geotoolkit.swe.xml.v101.SimpleDataRecordType) DataArrayType(org.geotoolkit.swe.xml.v101.DataArrayType)

Example 15 with PointType

use of org.geotoolkit.gml.xml.v212.PointType in project geotoolkit by Geomatys.

the class SamplingXMLBindingTest method marshallingTest.

/**
 * Test simple Record Marshalling.
 *
 * @throws java.lang.Exception
 */
@Test
public void marshallingTest() throws JAXBException, IOException, ParserConfigurationException, SAXException {
    final DirectPositionType pos = new DirectPositionType("urn:ogc:crs:espg:4326", 2, Arrays.asList(3.2, 6.5));
    final PointType location = new PointType("point-ID", pos);
    final SamplingPointType sp = new SamplingPointType("samplingID-007", "urn:sampling:test:007", "a sampling Test", new FeaturePropertyType(""), location);
    StringWriter sw = new StringWriter();
    marshaller.marshal(sp, sw);
    String result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    String expResult = "<sampling:SamplingPoint gml:id=\"samplingID-007\"" + " xmlns:sampling=\"http://www.opengis.net/sampling/1.0\"" + " xmlns:xlink=\"http://www.w3.org/1999/xlink\"" + " xmlns:gml=\"http://www.opengis.net/gml\">" + '\n' + "    <gml:description>a sampling Test</gml:description>" + '\n' + "    <gml:name>urn:sampling:test:007</gml:name>" + '\n' + "    <gml:boundedBy>" + '\n' + "        <gml:Null>not_bounded</gml:Null>" + '\n' + "    </gml:boundedBy>" + '\n' + "    <sampling:sampledFeature xlink:href=\"\"/>" + '\n' + "    <sampling:position>" + '\n' + "        <gml:Point gml:id=\"point-ID\">" + '\n' + "            <gml:pos srsName=\"urn:ogc:crs:espg:4326\" srsDimension=\"2\">3.2 6.5</gml:pos>" + '\n' + "        </gml:Point>" + '\n' + "    </sampling:position>" + '\n' + "</sampling:SamplingPoint>" + '\n';
    assertXmlEquals(expResult, result, "xmlns:*");
    final ObjectFactory facto = new ObjectFactory();
    FeatureCollectionType collection = new FeatureCollectionType();
    List<FeaturePropertyType> featProps = new ArrayList<FeaturePropertyType>();
    featProps.add(new FeaturePropertyType(facto.createSamplingPoint(sp)));
    collection.getFeatureMember().addAll(featProps);
    sw = new StringWriter();
    marshaller.marshal(collection, sw);
    result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    expResult = "<gml:FeatureCollection" + " xmlns:sampling=\"http://www.opengis.net/sampling/1.0\"" + " xmlns:xlink=\"http://www.w3.org/1999/xlink\"" + " xmlns:gml=\"http://www.opengis.net/gml\">" + '\n' + "    <gml:featureMember>" + '\n' + "        <sampling:SamplingPoint gml:id=\"samplingID-007\">" + '\n' + "            <gml:description>a sampling Test</gml:description>" + '\n' + "            <gml:name>urn:sampling:test:007</gml:name>" + '\n' + "            <gml:boundedBy>" + '\n' + "                <gml:Null>not_bounded</gml:Null>" + '\n' + "            </gml:boundedBy>" + '\n' + "            <sampling:sampledFeature xlink:href=\"\"/>" + '\n' + "            <sampling:position>" + '\n' + "                <gml:Point gml:id=\"point-ID\">" + '\n' + "                    <gml:pos srsName=\"urn:ogc:crs:espg:4326\" srsDimension=\"2\">3.2 6.5</gml:pos>" + '\n' + "                </gml:Point>" + '\n' + "            </sampling:position>" + '\n' + "        </sampling:SamplingPoint>" + '\n' + "    </gml:featureMember>" + '\n' + "</gml:FeatureCollection>" + '\n';
    assertXmlEquals(expResult, result, "xmlns:*");
}
Also used : FeatureCollectionType(org.geotoolkit.gml.xml.v311.FeatureCollectionType) DirectPositionType(org.geotoolkit.gml.xml.v311.DirectPositionType) StringWriter(java.io.StringWriter) ObjectFactory(org.geotoolkit.sampling.xml.v100.ObjectFactory) SamplingPointType(org.geotoolkit.sampling.xml.v100.SamplingPointType) ArrayList(java.util.ArrayList) PointType(org.geotoolkit.gml.xml.v311.PointType) SamplingPointType(org.geotoolkit.sampling.xml.v100.SamplingPointType) FeaturePropertyType(org.geotoolkit.gml.xml.v311.FeaturePropertyType)

Aggregations

PointType (org.geotoolkit.gml.xml.v311.PointType)15 ArrayList (java.util.ArrayList)14 DirectPositionType (org.geotoolkit.gml.xml.v311.DirectPositionType)14 Test (org.junit.Test)13 StringWriter (java.io.StringWriter)9 JAXBElement (javax.xml.bind.JAXBElement)9 PointType (net.opengis.gml.v_3_1_1.PointType)9 PointType (org.geotoolkit.gml.xml.v321.PointType)8 Geometry (org.locationtech.jts.geom.Geometry)8 Coordinate (org.locationtech.jts.geom.Coordinate)7 Point (org.locationtech.jts.geom.Point)6 StringReader (java.io.StringReader)5 List (java.util.List)5 DistanceBufferType (net.opengis.filter.v_1_1_0.DistanceBufferType)4 FeaturePropertyType (org.geotoolkit.gml.xml.v311.FeaturePropertyType)4 SamplingPointType (org.geotoolkit.sampling.xml.v100.SamplingPointType)4 LineString (org.locationtech.jts.geom.LineString)4 LineString (com.vividsolutions.jts.geom.LineString)3 MultiLineString (com.vividsolutions.jts.geom.MultiLineString)3 QName (javax.xml.namespace.QName)3