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-point without atleast one point"); int srid = getSrid(arg.attrs,gf.getSRID()); Point[] pts = (Point[]) arg.children.toArray(new Point[arg.children.size()]); MultiPoint mp = gf.createMultiPoint(pts); 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-point without atleast one point"); int srid = getSrid(arg.attrs,gf.getSRID()); Point[] pts = (Point[]) arg.children.toArray(new Point[arg.children.size()]); MultiPoint mp = gf.createMultiPoint(pts); if(mp.getSRID()!=srid) mp.setSRID(srid); return mp; } });
private MultiPoint convertJTSMultiPoint( com.vividsolutions.jts.geom.MultiPoint multiPoint) { Point[] pgPoints = new Point[multiPoint.getNumGeometries()]; for (int i = 0; i < pgPoints.length; i++) { pgPoints[i] = convertJTSPoint((com.vividsolutions.jts.geom.Point) multiPoint .getGeometryN(i)); } MultiPoint mp = new MultiPoint(pgPoints); mp.setSrid(multiPoint.getSRID()); return mp; }
private SDOGeometry convertJTSMultiPoint(MultiPoint multiPoint) { int dim = getCoordDimension(multiPoint); int lrsDim = getCoordinateLrsPosition(multiPoint); boolean isLrs = (lrsDim != 0); SDOGeometry geom = new SDOGeometry(); geom.setGType(new SDOGType(dim, lrsDim, TypeGeometry.MULTIPOINT)); geom.setSRID(multiPoint.getSRID()); ElemInfo info = new ElemInfo(multiPoint.getNumPoints()); int oordinatesOffset = 1; Double[] ordinates = new Double[]{}; for (int i = 0; i < multiPoint.getNumPoints(); i++) { info.setElement(i, oordinatesOffset, ElementType.POINT, 0); ordinates = convertAddCoordinates(ordinates, multiPoint .getGeometryN(i).getCoordinates(), dim, isLrs); oordinatesOffset = ordinates.length + 1; } geom.setInfo(info); geom.setOrdinates(new Ordinates(ordinates)); return geom; }