/** * Splits the specified MultiLineString with another lineString. * * @param MultiLineString * @param lineString * */ public static MultiLineString splitMultiLineStringWithLine(MultiLineString input, LineString cut) { ArrayList<Geometry> geometries = new ArrayList<Geometry>(); Geometry lines = input.difference(cut); for (int i = 0; i < lines.getNumGeometries(); i++) { geometries.add(lines.getGeometryN(i)); } return FACTORY.createMultiLineString(geometries.toArray(new LineString[geometries.size()])); }
/** * Splits the specified MultiLineString with another lineString. * * @param MultiLineString * @param lineString * */ private static Geometry splitMultiLineStringWithLine(MultiLineString input, LineString cut) { Geometry lines = input.difference(cut); //Only to preserve SQL constrains if (lines instanceof LineString) { return FACTORY.createMultiLineString(new LineString[]{(LineString) lines.getGeometryN(0)}); } return lines; } }
/** * Splits the specified MultiLineString with another lineString. * * @param MultiLineString * @param lineString * */ private static Geometry splitMultiLineStringWithLine(MultiLineString input, LineString cut) { Geometry lines = input.difference(cut); //Only to preserve SQL constrains if (lines instanceof LineString) { return FACTORY.createMultiLineString(new LineString[]{(LineString) lines.getGeometryN(0)}); } return lines; } }