public Geometry reverse() { CoordinateSequence seq = (CoordinateSequence) points.clone(); CoordinateSequences.reverse(seq); LinearRing rev = getFactory().createLinearRing(seq); return rev; } }
public Geometry reverse() { CoordinateSequence seq = (CoordinateSequence) points.clone(); CoordinateSequences.reverse(seq); LinearRing rev = getFactory().createLinearRing(seq); return rev; } }
protected static Geometry transformLinearRing(CoordinateTransform ct, LinearRing linearRing) { return linearRing.getFactory().createLinearRing(transformCoordinates(ct, linearRing.getCoordinates())); }
protected static Geometry transformLinearRing(CoordinateTransform ct, LinearRing linearRing) { return linearRing.getFactory().createLinearRing(transformCoordinates(ct, linearRing.getCoordinates())); }
protected static Geometry transformLinearRing(CoordinateTransform ct, LinearRing linearRing) { return linearRing.getFactory().createLinearRing(transformCoordinates(ct, linearRing.getCoordinates())); }
/** * Creates a polygon with one exterior and 0..* * interior holes. * * @param exterior the exterior ring * @param interiors the holes * @param srs as defined in srsName * @return a raw polygon */ public static Polygon createPolygon(AbstractRingPropertyType exterior, AbstractRingPropertyType[] interiors, String srs) { LinearRing exteriorRing = createRing(exterior.getAbstractRing(), srs); List<LinearRing> interiorRings = new ArrayList<LinearRing>(); for (AbstractRingPropertyType interiorRing : interiors) { interiorRings.add(createRing(interiorRing.getAbstractRing(), srs)); } LinearRing[] castedArray = new LinearRing[0]; return exteriorRing.getFactory().createPolygon(exteriorRing, interiorRings.toArray(castedArray)); }
return ring.getFactory().createMultiPolygon(new Polygon[]{ ring.getFactory().createPolygon(ring, EMPTY_RING_ARRAY) }); } else { Set<LineString> lines = nodeLineString(ring.getCoordinates(), ring.getFactory()); lines = getSegments(lines); decompose(unionPoly, geoms); decompose(unionLines, geoms); return ring.getFactory().buildGeometry(geoms);
return ring.getFactory().createMultiPolygon(new Polygon[]{ ring.getFactory().createPolygon(ring, EMPTY_RING_ARRAY) }); } else { Set<LineString> lines = nodeLineString(ring.getCoordinates(), ring.getFactory()); lines = getSegments(lines); decompose(unionPoly, geoms); decompose(unionLines, geoms); return ring.getFactory().buildGeometry(geoms);
/** * Does what it says, reverses the order of the Coordinates in the ring. * <p> * This is different then lr.reverses() in that a copy is produced using a * new coordinate sequence. * </p> * @param lr * The ring to reverse. * @return A new ring with the reversed Coordinates. */ public static final LinearRing reverseRing(LinearRing lr) { GeometryFactory gf = lr.getFactory(); CoordinateSequenceFactory csf = gf.getCoordinateSequenceFactory(); CoordinateSequence csOrig = lr.getCoordinateSequence(); int numPoints = csOrig.size(); int dimensions = csOrig.getDimension(); CoordinateSequence csNew = csf.create(numPoints, dimensions); for (int i = 0; i < numPoints; i++) { for (int j = 0; j < dimensions; j++) { csNew.setOrdinate(numPoints-1-i, j, csOrig.getOrdinate(i, j)); } } return gf.createLinearRing(csNew); }
/** * Does what it says, reverses the order of the Coordinates in the ring. * <p> * This is different then lr.reverses() in that a copy is produced using a * new coordinate sequence. * </p> * @param lr * The ring to reverse. * @return A new ring with the reversed Coordinates. */ public static final LinearRing reverseRing(LinearRing lr) { GeometryFactory gf = lr.getFactory(); CoordinateSequenceFactory csf = gf.getCoordinateSequenceFactory(); CoordinateSequence csOrig = lr.getCoordinateSequence(); int numPoints = csOrig.size(); int dimensions = csOrig.getDimension(); CoordinateSequence csNew = csf.create(numPoints, dimensions); for (int i = 0; i < numPoints; i++) { for (int j = 0; j < dimensions; j++) { csNew.setOrdinate(numPoints-1-i, j, csOrig.getOrdinate(i, j)); } } return gf.createLinearRing(csNew); }
return ring.getFactory().createLinearRing( out.toCoordinateSequence(ring.getFactory().getCoordinateSequenceFactory()));