CoordinateSequenceFilter class abstract
An interface for classes which process the coordinates in a {@link CoordinateSequence}.
A filter can either record information about each coordinate,
or change the value of the coordinate.
Filters can be
used to implement operations such as coordinate transformations, centroid and
envelope computation, and many other functions.
{@link Geometry} classes support the concept of applying a
CoordinateSequenceFilter
to each
{@link CoordinateSequence}s they contain.
For maximum efficiency, the execution of filters can be short-circuited by using the {@link #isDone} method.
CoordinateSequenceFilter
is
an example of the Gang-of-Four Visitor pattern.
Note: In general, it is preferable to treat Geometrys as immutable. Mutation should be performed by creating a new Geometry object (see {@link GeometryEditor} and {@link GeometryTransformer} for convenient ways to do this). An exception to this rule is when a new Geometry has been created via {@link Geometry#copy()}. In this case mutating the Geometry will not cause aliasing issues, and a filter is a convenient way to implement coordinate transformation.
@see Geometry#apply(CoordinateFilter) @see GeometryTransformer @see GeometryEditor
@see Geometry#apply(CoordinateSequenceFilter) @author Martin Davis @version 1.7
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
filter(
CoordinateSequence seq, int i) → void - Performs an operation on a coordinate in a {@link CoordinateSequence}.
-
isDone(
) → bool - Reports whether the application of this filter can be terminated. Once this method returns true, it must continue to return true on every subsequent call.
-
isGeometryChanged(
) → bool - Reports whether the execution of this filter has modified the coordinates of the geometry. If so, {@link Geometry#geometryChanged} will be executed after this filter has finished being executed.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited