public class GeometryNoder
extends java.lang.Object
Geometry
s using Snap-Rounding
to a given PrecisionModel
.
The input coordinates are expected to be rounded
to the given precision model.
This class does not perform that function.
GeometryPrecisionReducer
may be used to do this.
This class does not dissolve the output linework,
so there may be duplicate linestrings in the output.
Subsequent processing (e.g. polygonization) may require
the linework to be unique. Using UnaryUnion
is one way
to do this (although this is an inefficient approach).
Modifier and Type | Field and Description |
---|---|
private GeometryFactory |
geomFact |
private boolean |
isValidityChecked |
private PrecisionModel |
pm |
Constructor and Description |
---|
GeometryNoder(PrecisionModel pm)
Creates a new noder which snap-rounds to a grid specified
by the given
PrecisionModel . |
Modifier and Type | Method and Description |
---|---|
private java.util.List |
extractLines(java.util.Collection geoms) |
java.util.List |
node(java.util.Collection geoms)
Nodes the linework of a set of Geometrys using SnapRounding.
|
void |
setValidate(boolean isValidityChecked)
Sets whether noding validity is checked after noding is performed.
|
private java.util.List |
toLineStrings(java.util.Collection segStrings) |
private java.util.List |
toSegmentStrings(java.util.Collection lines) |
private GeometryFactory geomFact
private PrecisionModel pm
private boolean isValidityChecked
public GeometryNoder(PrecisionModel pm)
PrecisionModel
.pm
- the precision model for the grid to snap-round topublic void setValidate(boolean isValidityChecked)
isValidityChecked
- public java.util.List node(java.util.Collection geoms)
geoms
- a Collection of Geometrys of any typeprivate java.util.List toLineStrings(java.util.Collection segStrings)
private java.util.List extractLines(java.util.Collection geoms)
private java.util.List toSegmentStrings(java.util.Collection lines)