public Object parse(Handler arg, GeometryFactory gf) throws SAXException { // one child, either a coord // or a coordinate sequence if(arg.children.size()<1) throw new SAXException("Cannot create a multi-polygon without atleast one polygon"); int srid = getSrid(arg.attrs,gf.getSRID()); Polygon[] plys = (Polygon[]) arg.children.toArray(new Polygon[arg.children.size()]); MultiPolygon mp = gf.createMultiPolygon(plys); if(mp.getSRID()!=srid) mp.setSRID(srid); return mp; } });
public Object parse(Handler arg, GeometryFactory gf) throws SAXException { // one child, either a coord // or a coordinate sequence if(arg.children.size()<1) throw new SAXException("Cannot create a multi-polygon without atleast one polygon"); int srid = getSrid(arg.attrs,gf.getSRID()); Polygon[] plys = (Polygon[]) arg.children.toArray(new Polygon[arg.children.size()]); MultiPolygon mp = gf.createMultiPolygon(plys); if(mp.getSRID()!=srid) mp.setSRID(srid); return mp; } });
private MultiPolygon convertJTSMultiPolygon( com.vividsolutions.jts.geom.MultiPolygon multiPolygon) { Polygon[] pgPolygons = new Polygon[multiPolygon.getNumGeometries()]; for (int i = 0; i < pgPolygons.length; i++) { pgPolygons[i] = convertJTSPolygon((com.vividsolutions.jts.geom.Polygon) multiPolygon .getGeometryN(i)); } MultiPolygon mpg = new MultiPolygon(pgPolygons); mpg.setSrid(multiPolygon.getSRID()); return mpg; }
public static org.geojson.MultiPolygon toGeoJson (MultiPolygon jtsPolygon) { if (jtsPolygon == null) return null; org.geojson.MultiPolygon multiPolygon = new org.geojson.MultiPolygon(); for (int i=0;i<jtsPolygon.getNumGeometries();i++) { multiPolygon.add(toGeoJson((Polygon)jtsPolygon.getGeometryN(i))); } multiPolygon.setCrs(createCrsForEpsgCode(jtsPolygon.getSRID())); return multiPolygon; }
private SDOGeometry convertJTSMultiPolygon(MultiPolygon multiPolygon) { int dim = getCoordDimension(multiPolygon); int lrsPos = getCoordinateLrsPosition(multiPolygon); SDOGeometry geom = new SDOGeometry(); geom.setGType(new SDOGType(dim, lrsPos, TypeGeometry.MULTIPOLYGON)); geom.setSRID(multiPolygon.getSRID()); for (int i = 0; i < multiPolygon.getNumGeometries(); i++) { try { Polygon pg = (Polygon) multiPolygon.getGeometryN(i); addPolygon(geom, pg); } catch (Exception e) { throw new RuntimeException( "Found geometry that was not a geometry in MultiPolygon"); } } return geom; }