Package com.vividsolutions.jts.geom

Examples of com.vividsolutions.jts.geom.MultiPolygon


        assertEquals("geometry.2", getID(children.item(1)));
    }

    public void testParseWithSurfaceMember() throws Exception {
        GML3MockData.multiSurface(document, document);
        MultiPolygon mpoly = (MultiPolygon) parse();
       
        assertEquals(2, mpoly.getNumGeometries());
    }
View Full Code Here


        assertEquals(2, mpoly.getNumGeometries());
    }

    public void testParseWithSurfaceMembers() throws Exception {
        GML3MockData.multiSurface(document, document, false);
        MultiPolygon mpoly = (MultiPolygon) parse();
       
        assertEquals(2, mpoly.getNumGeometries());
    }
View Full Code Here

                    new Coordinate[] {
                        new Coordinate(0, 0), new Coordinate(1, 1), new Coordinate(2, 2),
                        new Coordinate(0, 0)
                    }), null);

        MultiPolygon multiPolygon = gf.createMultiPolygon(new Polygon[] {polygon});

        Document dom = encode(multiPolygon, GML.surfaceProperty);

        assertEquals(1, dom.getElementsByTagName("gml:Polygon").getLength());
        assertEquals(1, dom.getElementsByTagName("gml:exterior").getLength());
View Full Code Here

    }

    @Override
    public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
        Polygon polygon = (Polygon)node.getChildValue(Polygon.class);
        MultiPolygon surface = (MultiPolygon)node.getChildValue(MultiPolygon.class);

        if (polygon != null) {
            return gf.createMultiPolygon(new Polygon[] {polygon});
        } else {
            return surface;
View Full Code Here

    @Override
    public Object getProperty(Object object, QName name)
        throws Exception {
        if ("_Surface".equals(name.getLocalPart()) || "AbstractSurface".equals(name.getLocalPart())) {
            MultiPolygon multiPolygon = (MultiPolygon) object;
            // this MultiPolygon consists of a single Polygon wrapped in a MultiPolygon:
            return multiPolygon.getGeometryN(0);
        }

        return super.getProperty(object, name);
    }
View Full Code Here

    }

    public Object getProperty(Object object, QName name)
        throws Exception {
        if (GML.polygonMember.equals(name)) {
            MultiPolygon multiPolygon = (MultiPolygon) object;
            Polygon[] members = new Polygon[multiPolygon.getNumGeometries()];

            for (int i = 0; i < members.length; i++) {
                members[i] = (Polygon) multiPolygon.getGeometryN(i);
            }

            GML3EncodingUtils.setChildIDs(multiPolygon);

            return members;
View Full Code Here

public class MultiPolygonTypeBindingTest extends GML3TestSupport {
   
    public void test() throws Exception {
        GML3MockData.multiPolygon(document, document);

        MultiPolygon multiPolygon = (MultiPolygon) parse();
        assertNotNull(multiPolygon);
        assertEquals(2, multiPolygon.getNumGeometries());
    }
View Full Code Here

    }
   
    public void test3D() throws Exception {
        GML3MockData.multiPolygon3D(document, document);

        MultiPolygon multiPolygon = (MultiPolygon) parse();
        assertNotNull(multiPolygon);
        assertEquals(2, multiPolygon.getNumGeometries());
       
        Polygon polygon = (Polygon) multiPolygon.getGeometryN(0);
        LineString exterior = polygon.getExteriorRing();
        assertTrue(new Coordinate(1d, 2d, 10d).equals3D(exterior.getCoordinateN(0)));
        LineString interior = polygon.getInteriorRingN(0);
        assertTrue(new Coordinate(1d, 2d, 10d).equals3D(interior.getCoordinateN(0)));
    }
View Full Code Here

// we keep the same sequence order as in the xsd:
       
        //&lt;element maxOccurs="unbounded" minOccurs="0" ref="gml:surfaceMember"/&gt;
        List<MultiPolygon> surfaceMemberList = node.getChildValues("surfaceMember");
        //&lt;element minOccurs="0" ref="gml:surfaceMembers"/&gt;
        MultiPolygon surfaceMembers = (MultiPolygon)node.getChildValue("surfaceMembers");


        List<Polygon> polygons = new ArrayList<Polygon>();

        if (surfaceMemberList != null) {
            for (MultiPolygon surface : surfaceMemberList) {
                for (int i = 0; i < surface.getNumGeometries(); i++) {
                    Polygon polygon = (Polygon)surface.getGeometryN(i);
                    polygons.add(polygon);
                }
            }
        }

        if (surfaceMembers != null) {
            for (int i = 0; i < surfaceMembers.getNumGeometries(); i++) {
                Polygon polygon = (Polygon)surfaceMembers.getGeometryN(i);
                polygons.add(polygon);
            }
        }

        return gf.createMultiPolygon((Polygon[])polygons.toArray(new Polygon[polygons.size()]));
View Full Code Here

        // This property element contains a list of surfaces.
        // The order of the elements is significant and shall be preserved when processing the array.
        for (Node child : (List<Node>)node.getChildren()) {
            Object nodeValue = child.getValue();
            if (nodeValue instanceof MultiPolygon) { // Surface
                MultiPolygon surface = (MultiPolygon)nodeValue;
                for (int i = 0; i < surface.getNumGeometries(); i++) {
                    Polygon polygon = (Polygon)surface.getGeometryN(i);
                    polygons.add(polygon);
                }
            } else if (nodeValue instanceof Polygon) { // Polygon
                Polygon polygon = (Polygon)nodeValue;
                polygons.add(polygon);
View Full Code Here

TOP

Related Classes of com.vividsolutions.jts.geom.MultiPolygon

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.