com.vividsolutions.jts.geom.util
Class GeometryEditor
java.lang.Object
com.vividsolutions.jts.geom.util.GeometryEditor
public class GeometryEditor
extends java.lang.Object
Supports creating a new
Geometry
which is a modification of an existing one.
Geometry objects are intended to be treated as immutable.
This class allows you to "modify" a Geometry
by traversing it and creating a new Geometry with the same overall structure but
possibly modified components.
The following kinds of modifications can be made:
- the values of the coordinates may be changed.
Changing coordinate values may make the result Geometry invalid;
this is not checked by the GeometryEditor
- the coordinate lists may be changed
(e.g. by adding or deleting coordinates).
The modifed coordinate lists must be consistent with their original parent component
(e.g. a LinearRing must always have at least 4 coordinates, and the first and last
coordinate must be equal)
- components of the original geometry may be deleted
(e.g. holes may be removed from a Polygon, or LineStrings removed from a MultiLineString).
Deletions will be propagated up the component tree appropriately.
Note that all changes must be consistent with the original Geometry's structure
(e.g. a Polygon cannot be collapsed into a LineString).
The resulting Geometry is not checked for validity.
If validity needs to be enforced, the new Geometry's #isValid should be checked.
GeometryEditor
public GeometryEditor()
Creates a new GeometryEditor object which will create
an edited
Geometry
with the same
GeometryFactory
as the input Geometry.
GeometryEditor
public GeometryEditor(GeometryFactory factory)
Creates a new GeometryEditor object which will create
the edited Geometry with the given
GeometryFactory
factory
- the GeometryFactory to create the edited Geometry with