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-linestring without atleast one linestring"); int srid = getSrid(arg.attrs,gf.getSRID()); LineString[] lns = (LineString[]) arg.children.toArray(new LineString[arg.children.size()]); MultiLineString mp = gf.createMultiLineString(lns); 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-linestring without atleast one linestring"); int srid = getSrid(arg.attrs,gf.getSRID()); LineString[] lns = (LineString[]) arg.children.toArray(new LineString[arg.children.size()]); MultiLineString mp = gf.createMultiLineString(lns); if(mp.getSRID()!=srid) mp.setSRID(srid); return mp; } });
private MultiLineString convertJTSMultiLineString( com.vividsolutions.jts.geom.MultiLineString string) { org.postgis.LineString[] lines = new org.postgis.LineString[string .getNumGeometries()]; for (int i = 0; i < string.getNumGeometries(); i++) { lines[i] = new org.postgis.LineString(toPoints(string.getGeometryN( i).getCoordinates())); } MultiLineString mls = new MultiLineString(lines); if (string instanceof MGeometry) { mls.haveMeasure = true; } mls.setSrid(string.getSRID()); return mls; }
private SDOGeometry convertJTSMultiLineString( MultiLineString multiLineString) { int dim = getCoordDimension(multiLineString); int lrsDim = getCoordinateLrsPosition(multiLineString); boolean isLrs = (lrsDim != 0); SDOGeometry geom = new SDOGeometry(); geom.setGType(new SDOGType(dim, lrsDim, TypeGeometry.MULTILINE)); geom.setSRID(multiLineString.getSRID()); ElemInfo info = new ElemInfo(multiLineString.getNumGeometries()); int oordinatesOffset = 1; Double[] ordinates = new Double[]{}; for (int i = 0; i < multiLineString.getNumGeometries(); i++) { info.setElement(i, oordinatesOffset, ElementType.LINE_STRAITH_SEGMENTS, 0); ordinates = convertAddCoordinates(ordinates, multiLineString .getGeometryN(i).getCoordinates(), dim, isLrs); oordinatesOffset = ordinates.length + 1; } geom.setInfo(info); geom.setOrdinates(new Ordinates(ordinates)); return geom; }