23 GeometryFactory fac=
new GeometryFactory();
24 if(collection.getNumGeometries()==1) {
25 Geometry singlegeom=collection.getGeometryN(0);
27 }
else if(collection.getNumGeometries()==0) {
30 switch(collection.getGeometryN(0).getGeometryType()) {
32 List<Coordinate> coords=
new ArrayList<Coordinate>();
33 for(
int i=0;i<collection.getNumGeometries();i++) {
34 for(Coordinate coord2:collection.getGeometryN(i).getCoordinates()) {
38 return fac.createMultiPointFromCoords(coords.toArray(
new Coordinate[0]));
40 List<LineString> lines=
new ArrayList<LineString>();
41 for(
int i=0;i<collection.getNumGeometries();i++) {
42 lines.add((LineString)collection.getGeometryN(i));
44 return fac.createMultiLineString(lines.toArray(
new LineString[0]));
46 List<Polygon> polys=
new ArrayList<Polygon>();
47 for(
int i=0;i<collection.getNumGeometries();i++) {
48 polys.add((Polygon)collection.getGeometryN(i));
50 return fac.createMultiPolygon(polys.toArray(
new Polygon[0]));