Package org.locationtech.jts.simplify
Class VWSimplifier.VWTransformer
- java.lang.Object
-
- org.locationtech.jts.geom.util.GeometryTransformer
-
- org.locationtech.jts.simplify.VWSimplifier.VWTransformer
-
- Enclosing class:
- VWSimplifier
static class VWSimplifier.VWTransformer extends GeometryTransformer
-
-
Field Summary
Fields Modifier and Type Field Description private double
distanceTolerance
private boolean
isEnsureValidTopology
-
Fields inherited from class org.locationtech.jts.geom.util.GeometryTransformer
factory
-
-
Constructor Summary
Constructors Constructor Description VWTransformer(boolean isEnsureValidTopology, double distanceTolerance)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Geometry
createValidArea(Geometry rawAreaGeom)
Creates a valid area geometry from one that possibly has bad topology (i.e.protected CoordinateSequence
transformCoordinates(CoordinateSequence coords, Geometry parent)
Transforms aCoordinateSequence
.protected Geometry
transformLinearRing(LinearRing geom, Geometry parent)
Simplifies a LinearRing.protected Geometry
transformMultiPolygon(MultiPolygon geom, Geometry parent)
Simplifies a MultiPolygon, fixing it if required.protected Geometry
transformPolygon(Polygon geom, Geometry parent)
Simplifies a polygon, fixing it if required.-
Methods inherited from class org.locationtech.jts.geom.util.GeometryTransformer
copy, createCoordinateSequence, getInputGeometry, transform, transformGeometryCollection, transformLineString, transformMultiLineString, transformMultiPoint, transformPoint
-
-
-
-
Method Detail
-
transformCoordinates
protected CoordinateSequence transformCoordinates(CoordinateSequence coords, Geometry parent)
Description copied from class:GeometryTransformer
Transforms aCoordinateSequence
. This method should always return a valid coordinate list for the desired result type. (E.g. a coordinate list for a LineString must have 0 or at least 2 points). If this is not possible, return an empty sequence - this will be pruned out.- Overrides:
transformCoordinates
in classGeometryTransformer
- Parameters:
coords
- the coordinates to transformparent
- the parent geometry- Returns:
- the transformed coordinates
-
transformPolygon
protected Geometry transformPolygon(Polygon geom, Geometry parent)
Simplifies a polygon, fixing it if required.- Overrides:
transformPolygon
in classGeometryTransformer
-
transformLinearRing
protected Geometry transformLinearRing(LinearRing geom, Geometry parent)
Simplifies a LinearRing. If the simplification results in a degenerate ring, remove the component.- Overrides:
transformLinearRing
in classGeometryTransformer
- Parameters:
geom
- the ring to simplifyparent
- the parent geometry- Returns:
- null if the simplification results in a degenerate ring
-
transformMultiPolygon
protected Geometry transformMultiPolygon(MultiPolygon geom, Geometry parent)
Simplifies a MultiPolygon, fixing it if required.- Overrides:
transformMultiPolygon
in classGeometryTransformer
-
createValidArea
private Geometry createValidArea(Geometry rawAreaGeom)
Creates a valid area geometry from one that possibly has bad topology (i.e. self-intersections). Since buffer can handle invalid topology, but always returns valid geometry, constructing a 0-width buffer "corrects" the topology. Note this only works for area geometries, since buffer always returns areas. This also may return empty geometries, if the input has no actual area.- Parameters:
rawAreaGeom
- an area geometry possibly containing self-intersections- Returns:
- a valid area geometry
-
-