public void setUserData(Object userData) { lineString.setUserData(userData); }
@Override public Iterator<LineString> call(Geometry spatialObject) throws Exception { List<LineString> result = new ArrayList<LineString>(); if (spatialObject instanceof MultiLineString) { MultiLineString multiObjects = (MultiLineString) spatialObject; for (int i = 0; i < multiObjects.getNumGeometries(); i++) { LineString oneObject = (LineString) multiObjects.getGeometryN(i); oneObject.setUserData(multiObjects.getUserData()); result.add(oneObject); } } else if (spatialObject instanceof LineString) { result.add((LineString) spatialObject); } else { throw new Exception("[ShapefileRDD][getLineStringRDD] the object type is not LineString or MultiLineString type. It is " + spatialObject.getGeometryType()); } return result.iterator(); } })
@Override public Iterator<LineString> call(Geometry spatialObject) throws Exception { List<LineString> result = new ArrayList<LineString>(); if (spatialObject instanceof MultiLineString) { MultiLineString multiObjects = (MultiLineString) spatialObject; for (int i = 0; i < multiObjects.getNumGeometries(); i++) { LineString oneObject = (LineString) multiObjects.getGeometryN(i); oneObject.setUserData(multiObjects.getUserData()); result.add(oneObject); } } else if (spatialObject instanceof LineString) { result.add((LineString) spatialObject); } else { throw new Exception("[ShapefileRDD][getLineStringRDD] the object type is not LineString or MultiLineString type. It is " + spatialObject.getGeometryType()); } return result.iterator(); } });
@Override public Iterator<LineString> call(Geometry spatialObject) throws Exception { List<LineString> result = new ArrayList<LineString>(); if (spatialObject instanceof MultiLineString) { MultiLineString multiObjects = (MultiLineString) spatialObject; for (int i = 0; i < multiObjects.getNumGeometries(); i++) { LineString oneObject = (LineString) multiObjects.getGeometryN(i); oneObject.setUserData(multiObjects.getUserData()); result.add(oneObject); } } else if (spatialObject instanceof LineString) { result.add((LineString) spatialObject); } else { throw new Exception("[ShapefileRDD][getLineStringRDD] the object type is not LineString or MultiLineString type. It is " + spatialObject.getGeometryType()); } return result.iterator(); } })
@Override public Iterator<LineString> call(Geometry spatialObject) throws Exception { List<LineString> result = new ArrayList<LineString>(); if (spatialObject instanceof MultiLineString) { MultiLineString multiObjects = (MultiLineString) spatialObject; for (int i = 0; i < multiObjects.getNumGeometries(); i++) { LineString oneObject = (LineString) multiObjects.getGeometryN(i); oneObject.setUserData(multiObjects.getUserData()); result.add(oneObject); } } else if (spatialObject instanceof LineString) { result.add((LineString) spatialObject); } else { throw new Exception("[ShapefileRDD][getLineStringRDD] the object type is not LineString or MultiLineString type. It is " + spatialObject.getGeometryType()); } return result.iterator(); } });
/** * Create the LineString. * * @param geometryFactory The geometry factory needed to do the build. * * @return JTS LineString geometry. */ public Geometry create(GeometryFactory geometryFactory) { Coordinate[] coords = (Coordinate[]) coordinateList.toArray(new Coordinate[ coordinateList.size()]); LineString lineString = geometryFactory.createLineString(coords); lineString.setUserData( getSRS() ); lineString.setSRID( getSRID() ); return lineString; } }
/** * Create the LineString. * * @param geometryFactory The geometry factory needed to do the build. * * @return JTS LineString geometry. */ public Geometry create(GeometryFactory geometryFactory) { Coordinate[] coords = (Coordinate[]) coordinateList.toArray(new Coordinate[ coordinateList.size()]); LineString lineString = geometryFactory.createLineString(coords); lineString.setUserData( getSRS() ); lineString.setSRID( getSRID() ); return lineString; } }
private LineString parseLineString(int dimension, CoordinateReferenceSystem crs) throws XmlPullParserException, IOException, NoSuchAuthorityCodeException, FactoryException { LineString geom = null; parser.nextTag(); final QName memberTag = new QName(parser.getNamespace(), parser.getName()); if (GML.coordinates.equals(memberTag) || GML.posList.equals(memberTag)) { crs = crs(crs); Coordinate[] coords = parseCoordList(dimension, crs); geom = geomFac.createLineString(coords); geom.setUserData(crs); } // parser.require(XmlPullParser.START_TAG, GML.NAMESPACE, // GML.posList.getLocalPart()); parser.nextTag(); parser.require(XmlPullParser.END_TAG, GML.NAMESPACE, GML.LineString.getLocalPart()); return geom; }
LineString left = (LineString) liLine.extractLine(startIndex, endIndex); if (left != null && !left.isEmpty() && left.getLength() > 0) { left.setUserData(entrySet.getValue()); splits.add(left);
List<LineString> levelContours = levelSegments.getMergedSegments(); for (LineString line : levelContours) { line.setUserData(levelValue);
private List<Geometry> splitLines(Geometry line, List<Coordinate> coordinates) { List<Geometry> splits = new ArrayList<Geometry>(); LocationIndexedLine liLine = new LocationIndexedLine(line); // sort point along line SortedMap<Double, LinearLocation> sortedMap = new TreeMap<Double, LinearLocation>(); for (Coordinate coordinate : coordinates) { LinearLocation location = liLine.indexOf(coordinate); int segIndex = location.getSegmentIndex(); double segFraction = location.getSegmentFraction(); sortedMap.put(Double.valueOf(segIndex + segFraction), location); } // split LinearLocation startIndex = liLine.getStartIndex(); for (Entry<Double, LinearLocation> entrySet : sortedMap.entrySet()) { LinearLocation endIndex = entrySet.getValue(); LineString left = (LineString) liLine.extractLine(startIndex, endIndex); if (left != null && !left.isEmpty() && left.getLength() > 0) { left.setUserData(line.getUserData()); splits.add(left); } startIndex = endIndex; } // add last segment Geometry left = liLine.extractLine(startIndex, liLine.getEndIndex()); if (left != null && !left.isEmpty() && left.getLength() > 0) { left.setUserData(line.getUserData()); splits.add(left); } return splits; }
protected LineString getShortestLine(Geometry from, Geometry to, boolean centroid) { Geometry start = from; Geometry end = to; if (centroid) { if (from instanceof Polygon || from instanceof MultiPolygon) { start = from.getCentroid(); } if (to instanceof Polygon || to instanceof MultiPolygon) { end = to.getCentroid(); } } Coordinate[] coordinates = DistanceOp.nearestPoints(start, end); LineString shortestLine = from.getFactory().createLineString(coordinates); if (useBezierCurve) { shortestLine = new BezierCurve().create(shortestLine); } shortestLine.setUserData(from.getUserData()); return shortestLine; }
System.arraycopy(newCs, 0, coord, 0, coord.length); newString = GISGeometryFactory.INSTANCE.createLinearRing(coord); newString.setUserData(line.getUserData()); System.arraycopy(newCs, 0, coord, 0, coord.length); newString = GISGeometryFactory.INSTANCE.createLineString(coord); newString.setUserData(line.getUserData());