Search in sources :

Example 6 with LineStringType

use of net.opengis.gml.x32.LineStringType in project ddf by codice.

the class Wfs20JTStoGML321Converter method convertToLineStringType.

public static LineStringType convertToLineStringType(LineString line, String srsName) {
    LineStringType lineStringType = GML320_OBJECT_FACTORY.createLineStringType();
    CoordinatesType coordinatesType = GML320_OBJECT_FACTORY.createCoordinatesType();
    StringBuilder stringBuffer = new StringBuilder();
    for (int i = 0; i < line.getCoordinateSequence().size(); i++) {
        Coordinate coordinate = line.getCoordinateSequence().getCoordinate(i);
        if (i != 0) {
            stringBuffer.append(" ");
        }
        stringBuffer.append(coordinate.x).append(",").append(coordinate.y);
        if (!Double.isNaN(coordinate.z)) {
            stringBuffer.append(",").append(coordinate.z);
        }
    }
    coordinatesType.setValue(stringBuffer.toString());
    lineStringType.setCoordinates(coordinatesType);
    lineStringType.setSrsName(srsName);
    return lineStringType;
}
Also used : Coordinate(org.locationtech.jts.geom.Coordinate) LineStringType(net.opengis.gml.v_3_2_1.LineStringType) Point(org.locationtech.jts.geom.Point) MultiPoint(org.locationtech.jts.geom.MultiPoint) CoordinatesType(net.opengis.gml.v_3_2_1.CoordinatesType)

Example 7 with LineStringType

use of net.opengis.gml.x32.LineStringType in project ddf by codice.

the class Wfs20JTStoGML321Converter method convertToRingType.

public static RingType convertToRingType(LinearRing line, String srsName) {
    RingType ringType = GML320_OBJECT_FACTORY.createRingType();
    CurvePropertyType curvePropertyType = GML320_OBJECT_FACTORY.createCurvePropertyType();
    LineStringType curve = convertToLineStringType(line, srsName);
    JAXBElement<LineStringType> lineStringTypeJAXBElement = GML320_OBJECT_FACTORY.createLineString(curve);
    curvePropertyType.setAbstractCurve(lineStringTypeJAXBElement);
    ringType.getCurveMember().add(curvePropertyType);
    return ringType;
}
Also used : CurvePropertyType(net.opengis.gml.v_3_2_1.CurvePropertyType) LineStringType(net.opengis.gml.v_3_2_1.LineStringType) RingType(net.opengis.gml.v_3_2_1.RingType)

Example 8 with LineStringType

use of net.opengis.gml.x32.LineStringType in project ddf by codice.

the class Wfs20JTStoGML321Converter method createGeometryPropertyType.

private static GeometryPropertyType createGeometryPropertyType(Geometry geometry, String srsName) {
    final GeometryPropertyType geometryPropertyType = GML320_OBJECT_FACTORY.createGeometryPropertyType();
    if (geometry instanceof Point) {
        PointType pointType = convertToPointType((Point) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertPointTypeToJAXB(pointType));
    } else if (geometry instanceof LineString) {
        LineStringType lineStringType = convertToLineStringType((LineString) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertLineStringTypeToJAXB(lineStringType));
    } else if (geometry instanceof Polygon) {
        PolygonType polygonType = convertToPolygonType((Polygon) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertPolygonTypeToJAXB(polygonType));
    } else if (geometry instanceof MultiPoint) {
        MultiPointType multiPointType = convertToMultiPointType((MultiPoint) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertMultiPointTypeToJAXB(multiPointType));
    } else if (geometry instanceof MultiLineString) {
        MultiCurveType multiCurveType = convertToMultiLineStringType((MultiLineString) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertMultiCurveTypeToJAXB(multiCurveType));
    } else if (geometry instanceof MultiPolygon) {
        MultiSurfaceType multiSurfaceType = convertToMultiSurfaceType((MultiPolygon) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertMultiSurfaceTypeToJAXB(multiSurfaceType));
    } else if (geometry instanceof GeometryCollection) {
        MultiGeometryType multiGeometryType = convertToMultiGeometryType((GeometryCollection) geometry, srsName);
        geometryPropertyType.setAbstractGeometry(convertMultiGeometryTypeToJAXB(multiGeometryType));
    } else {
        throw new IllegalArgumentException();
    }
    return geometryPropertyType;
}
Also used : MultiPoint(org.locationtech.jts.geom.MultiPoint) MultiLineString(org.locationtech.jts.geom.MultiLineString) MultiCurveType(net.opengis.gml.v_3_2_1.MultiCurveType) MultiGeometryType(net.opengis.gml.v_3_2_1.MultiGeometryType) PolygonType(net.opengis.gml.v_3_2_1.PolygonType) Point(org.locationtech.jts.geom.Point) MultiPoint(org.locationtech.jts.geom.MultiPoint) LineStringType(net.opengis.gml.v_3_2_1.LineStringType) MultiPointType(net.opengis.gml.v_3_2_1.MultiPointType) GeometryCollection(org.locationtech.jts.geom.GeometryCollection) MultiSurfaceType(net.opengis.gml.v_3_2_1.MultiSurfaceType) MultiLineString(org.locationtech.jts.geom.MultiLineString) LineString(org.locationtech.jts.geom.LineString) MultiPolygon(org.locationtech.jts.geom.MultiPolygon) PointType(net.opengis.gml.v_3_2_1.PointType) MultiPointType(net.opengis.gml.v_3_2_1.MultiPointType) Polygon(org.locationtech.jts.geom.Polygon) MultiPolygon(org.locationtech.jts.geom.MultiPolygon) GeometryPropertyType(net.opengis.gml.v_3_2_1.GeometryPropertyType)

Example 9 with LineStringType

use of net.opengis.gml.x32.LineStringType in project ddf by codice.

the class Wfs20JTStoGML321Converter method convertGeometryType.

private static LineStringType convertGeometryType(LineString lineString) {
    final LineStringType resultLineString = GML320_OBJECT_FACTORY.createLineStringType();
    for (DirectPositionType directPosition : convertCoordinates(lineString.getCoordinates())) {
        final JAXBElement<DirectPositionType> pos = GML320_OBJECT_FACTORY.createPos(directPosition);
        resultLineString.getPosOrPointPropertyOrPointRep().add(pos);
    }
    return resultLineString;
}
Also used : DirectPositionType(net.opengis.gml.v_3_2_1.DirectPositionType) LineStringType(net.opengis.gml.v_3_2_1.LineStringType)

Example 10 with LineStringType

use of net.opengis.gml.x32.LineStringType in project ddf by codice.

the class WfsFilterDelegate method createLineString.

private JAXBElement<LineStringType> createLineString(Geometry geometry) {
    LineStringType lineStringType = gml320ObjectFactory.createLineStringType();
    lineStringType.setSrsName(GeospatialUtil.EPSG_4326_URN);
    lineStringType.setCoordinates(createCoordinates(geometry));
    return gml320ObjectFactory.createLineString(lineStringType);
}
Also used : LineStringType(net.opengis.gml.v_3_2_1.LineStringType)

Aggregations

LineStringType (net.opengis.gml.v_3_2_1.LineStringType)5 LineStringType (ogc.schema.opengis.gml.v_2_1_2.LineStringType)5 MultiLineStringType (ogc.schema.opengis.gml.v_2_1_2.MultiLineStringType)5 Test (org.junit.Test)5 LineString (com.vividsolutions.jts.geom.LineString)4 MultiLineString (com.vividsolutions.jts.geom.MultiLineString)4 LineString (org.locationtech.jts.geom.LineString)4 JAXBElement (javax.xml.bind.JAXBElement)3 LineStringType (net.opengis.gml.v_3_1_1.LineStringType)3 DirectPositionListType (net.opengis.gml.x32.DirectPositionListType)3 MultiLineString (org.locationtech.jts.geom.MultiLineString)3 MultiPoint (org.locationtech.jts.geom.MultiPoint)3 Point (org.locationtech.jts.geom.Point)3 BinarySpatialOpType (net.opengis.filter.v_1_1_0.BinarySpatialOpType)2 FilterType (net.opengis.filter.v_1_1_0.FilterType)2 LineStringDocument (net.opengis.gml.x32.LineStringDocument)2 LineStringType (net.opengis.gml.x32.LineStringType)2 Polygon (org.locationtech.jts.geom.Polygon)2 Iterator (java.util.Iterator)1 JAXBException (javax.xml.bind.JAXBException)1