return createMultiLineString(toLineStringArray(geomList));
/** * Extracts linework for polygonal components. * * @param g the geometry from which to extract * @return a lineal geometry containing the extracted linework */ private MultiLineString extractLinework(Geometry g) { PolygonalLineworkExtracter extracter = new PolygonalLineworkExtracter(); g.apply(extracter); List linework = extracter.getLinework(); LineString[] lines = GeometryFactory.toLineStringArray(linework); return g.getFactory().createMultiLineString(lines); }
/** * Removes duplicated coordinates in a MultiLineString. * * @param g * @return */ public static MultiLineString removeCoordinates(MultiLineString g) { ArrayList<LineString> lines = new ArrayList<LineString>(); for (int i = 0; i < g.getNumGeometries(); i++) { LineString line = (LineString) g.getGeometryN(i); lines.add(removeCoordinates(line)); } return FACTORY.createMultiLineString(GeometryFactory.toLineStringArray(lines)); }
/** * Removes duplicated coordinates in a MultiLineString. * @param g * @return */ public static MultiLineString removeDuplicateCoordinates(MultiLineString g) { ArrayList<LineString> lines = new ArrayList<LineString>(); for (int i = 0; i < g.getNumGeometries(); i++) { LineString line = (LineString) g.getGeometryN(i); lines.add(removeDuplicateCoordinates(line)); } return FACTORY.createMultiLineString(GeometryFactory.toLineStringArray(lines)); }
/** * Removes duplicated coordinates in a MultiLineString. * * @param g * @return */ public static MultiLineString removeCoordinates(MultiLineString g) { ArrayList<LineString> lines = new ArrayList<LineString>(); for (int i = 0; i < g.getNumGeometries(); i++) { LineString line = (LineString) g.getGeometryN(i); lines.add(removeCoordinates(line)); } return FACTORY.createMultiLineString(GeometryFactory.toLineStringArray(lines)); }
/** * Removes duplicated coordinates in a MultiLineString. * * @param multiLineString * @param tolerance to delete the coordinates * @return */ public static MultiLineString removeDuplicateCoordinates(MultiLineString multiLineString, double tolerance) throws SQLException { ArrayList<LineString> lines = new ArrayList<LineString>(); for (int i = 0; i < multiLineString.getNumGeometries(); i++) { LineString line = (LineString) multiLineString.getGeometryN(i); lines.add(removeDuplicateCoordinates(line, tolerance)); } return FACTORY.createMultiLineString(GeometryFactory.toLineStringArray(lines)); }
/** * Removes duplicated coordinates in a MultiLineString. * * @param multiLineString * @param tolerance to delete the coordinates * @return */ public static MultiLineString removeDuplicateCoordinates(MultiLineString multiLineString, double tolerance) throws SQLException { ArrayList<LineString> lines = new ArrayList<LineString>(); for (int i = 0; i < multiLineString.getNumGeometries(); i++) { LineString line = (LineString) multiLineString.getGeometryN(i); lines.add(removeDuplicateCoordinates(line, tolerance)); } return FACTORY.createMultiLineString(GeometryFactory.toLineStringArray(lines)); }
return factory.createMultiLineString(GeometryFactory.toLineStringArray(lines));
/** * Create MultiLineString as encoded by elemInfo. * * @param oraGeom SDO_GEOMETRY attributes being read * @param coords the coordinates of the entire geometry * @return MultiLineString */ private MultiLineString readMultiLine(OraGeom oraGeom) { int nElem = oraGeom.numElements(); List geoms = new ArrayList(); for (int i = 0; i < nElem; i++) { int etype = oraGeom.eType(i); // stop reading if not a line if (etype != OraGeom.ETYPE.LINE) break; geoms.add(readLine(oraGeom, i)); } MultiLineString lines = geometryFactory.createMultiLineString(GeometryFactory.toLineStringArray(geoms)); return lines; }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { List<LineString> lineStrings = new ArrayList<LineString>(); // This property element contains a list of curves. // 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 MultiLineString) { MultiLineString curve = (MultiLineString)nodeValue; for (int i = 0; i < curve.getNumGeometries(); i++) { LineString lineString = (LineString)curve.getGeometryN(i); lineStrings.add(lineString); } } else if (nodeValue instanceof LineString) { LineString lineString = (LineString)nodeValue; lineStrings.add(lineString); } } return gf.createMultiLineString(GeometryFactory.toLineStringArray(lineStrings)); }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ @Override public Object parse(ElementInstance instance, Node node, Object value) throws Exception { List<MultiLineString> curveMemberList = node.getChildValues(MultiLineString.class); List<LineString> curveMembers = new ArrayList<LineString>(); for (MultiLineString curveMember : curveMemberList) { for (int i = 0; i < curveMember.getNumGeometries(); i++) { LineString lineString = (LineString)curveMember.getGeometryN(i); curveMembers.add(lineString); } } MultiLineString multiLineString = gf.createMultiLineString( GeometryFactory.toLineStringArray(curveMembers)); return gf.createLinearRing(multiLineString.getCoordinates()); }
public Object parse(ElementInstance instance, Node node, Object value) throws Exception { //<element maxOccurs="unbounded" minOccurs="0" ref="gml:curveMember"/> List<MultiLineString> curveMemberList = node.getChildValues("curveMember"); //<element minOccurs="0" ref="gml:curveMembers"/> MultiLineString curveMembers = (MultiLineString)node.getChildValue("curveMembers"); List<LineString> lineStrings = new ArrayList<LineString>(); if (curveMemberList != null) { for (MultiLineString curveMember : curveMemberList) { for (int i = 0; i < curveMember.getNumGeometries(); i++) { LineString lineString = (LineString)curveMember.getGeometryN(i); lineStrings.add(lineString); } } } if (curveMembers != null) { for (int i = 0; i < curveMembers.getNumGeometries(); i++) { LineString lineString = (LineString)curveMembers.getGeometryN(i); lineStrings.add(lineString); } } return gf.createMultiLineString(GeometryFactory.toLineStringArray(lineStrings)); }
/** * Extracts linework for polygonal components. * * @param g the geometry from which to extract * @return a lineal geometry containing the extracted linework */ private MultiLineString extractLinework(Geometry g) { PolygonalLineworkExtracter extracter = new PolygonalLineworkExtracter(); g.apply(extracter); List linework = extracter.getLinework(); LineString[] lines = GeometryFactory.toLineStringArray(linework); return g.getFactory().createMultiLineString(lines); }
private Geometry lineIntersection(Geometry source, Geometry sliver) { final List<LineString> list = new ArrayList<LineString>(); Geometry intersection = source.getBoundary().intersection(sliver.getBoundary()); intersection.apply(new GeometryComponentFilter() { @Override public void filter(Geometry geom) { if (geom instanceof LineString) { list.add((LineString) geom); } else if (geom instanceof MultiLineString) { for (int i = 0; i < geom.getNumGeometries(); i++) { list.add((LineString) geom.getGeometryN(i)); } } } }); return source.getFactory().createMultiLineString(GeometryFactory.toLineStringArray(list)); }
} else if (internalType.equals("LineString")) { LineString[] lineStringArray = geometryFactory .toLineStringArray(geometries); MultiLineString multiLineString = geometryFactory.createMultiLineString(lineStringArray); multiLineString.setUserData( getSRS() );
} else if (internalType.equals("LineString")) { LineString[] lineStringArray = geometryFactory .toLineStringArray(geometries); MultiLineString multiLineString = geometryFactory.createMultiLineString(lineStringArray); multiLineString.setUserData( getSRS() );
LineString[] lsArray = GeometryFactory.toLineStringArray(lineStrings); MultiLineString multi = factory.createMultiLineString(lsArray); List<Point> intersections = extractPoints(part.intersection(multi));
LineString[] lsArray = GeometryFactory.toLineStringArray(lineStrings); MultiLineString multi = factory.createMultiLineString(lsArray); List<Point> intersections = extractPoints(part.intersection(multi));
LineString[] lsArray = GeometryFactory.toLineStringArray(segments); Geometry trimmed = multiPart.getFactory().createMultiLineString(lsArray); if (trimmed == null || trimmed.isEmpty()) {
LineString[] lsArray = GeometryFactory.toLineStringArray(segments); Geometry trimmed = multiPart.getFactory().createMultiLineString(lsArray); if (trimmed == null || trimmed.isEmpty()) {