|
JTS Topology Suite version 1.13 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.vividsolutions.jts.operation.IsSimpleOp
public class IsSimpleOp
Tests whether a Geometry is simple.
In general, the SFS specification of simplicity
follows the rule:
Simplicity is defined for each Geometry type as follows:
isSimple trivially returns true.
(Note: this means that isSimple cannot be used to test
for (invalid) self-intersections in Polygons.
In order to check if a Polygonal geometry has self-intersections,
use Geometry.isValid()).
Geometry.touches(Geometry)
predicate.
Lineal geometries the evaluation of simplicity
can be customized by supplying a BoundaryNodeRule
to define how boundary points are determined.
The default is the SFS-standard BoundaryNodeRule.MOD2_BOUNDARY_RULE.
Note that under the Mod-2 rule, closed LineStrings (rings)
will never satisfy the touches predicate at their endpoints, since these are
interior points, not boundary points.
If it is required to test whether a set of LineStrings touch
only at their endpoints, use IsSimpleOp with BoundaryNodeRule.ENDPOINT_BOUNDARY_RULE.
For example, this can be used to validate that a set of lines form a topologically valid
linear network.
BoundaryNodeRule| Constructor Summary | |
|---|---|
IsSimpleOp()
Deprecated. use IsSimpleOp(Geometry) |
|
IsSimpleOp(Geometry geom)
Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule |
|
IsSimpleOp(Geometry geom,
BoundaryNodeRule boundaryNodeRule)
Creates a simplicity checker using a given BoundaryNodeRule |
|
| Method Summary | |
|---|---|
Coordinate |
getNonSimpleLocation()
Gets a coordinate for the location where the geometry fails to be simple. |
boolean |
isSimple()
Tests whether the geometry is simple. |
boolean |
isSimple(LineString geom)
Deprecated. use isSimple() |
boolean |
isSimple(MultiLineString geom)
Deprecated. use isSimple() |
boolean |
isSimple(MultiPoint mp)
Deprecated. use isSimple() |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public IsSimpleOp()
public IsSimpleOp(Geometry geom)
geom - the geometry to test
public IsSimpleOp(Geometry geom,
BoundaryNodeRule boundaryNodeRule)
BoundaryNodeRule
geom - the geometry to testboundaryNodeRule - the rule to use.| Method Detail |
|---|
public boolean isSimple()
public Coordinate getNonSimpleLocation()
isSimple() must be called before this method is called.
public boolean isSimple(LineString geom)
LineString is simple.
geom - the lineal geometry to test
public boolean isSimple(MultiLineString geom)
MultiLineString geometry is simple.
geom - the lineal geometry to test
public boolean isSimple(MultiPoint mp)
|
JTS Topology Suite version 1.13 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||