BoundaryNodeRule class abstract

An interface for rules which determine whether node points which are in boundaries of {@link Lineal} geometry components are in the boundary of the parent geometry collection. The SFS specifies a single kind of boundary node rule, the {@link Mod2BoundaryNodeRule} rule. However, other kinds of Boundary Node Rules are appropriate in specific situations (for instance, linear network topology usually follows the {@link EndPointBoundaryNodeRule}.) Some JTS operations (such as {@link RelateOp}, {@link BoundaryOp} and {@link IsSimpleOp}) allow the BoundaryNodeRule to be specified, and respect the supplied rule when computing the results of the operation.

An example use case for a non-SFS-standard Boundary Node Rule is that of checking that a set of {@link LineString}s have valid linear network topology, when turn-arounds are represented as closed rings. In this situation, the entry road to the turn-around is only valid when it touches the turn-around ring at the single (common) endpoint. This is equivalent to requiring the set of LineStrings to be simple under the {@link EndPointBoundaryNodeRule}. The SFS-standard {@link Mod2BoundaryNodeRule} is not sufficient to perform this test, since it states that closed rings have no boundary points.

This interface and its subclasses follow the Strategy design pattern.

@author Martin Davis @version 1.7

@see RelateOp @see BoundaryOp @see IsSimpleOp @see PointLocator

Implementers

Constructors

BoundaryNodeRule()

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

isInBoundary(int boundaryCount) bool
Tests whether a point that lies in boundaryCount geometry component boundaries is considered to form part of the boundary of the parent geometry.
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

Static Properties

ENDPOINT_BOUNDARY_RULE BoundaryNodeRule
The Endpoint Boundary Node Rule. @see EndPointBoundaryNodeRule
final
MOD2_BOUNDARY_RULE BoundaryNodeRule
The Mod-2 Boundary Node Rule (which is the rule specified in the OGC SFS). @see Mod2BoundaryNodeRule
final
MONOVALENT_ENDPOINT_BOUNDARY_RULE BoundaryNodeRule
The Monovalent Endpoint Boundary Node Rule. @see MonoValentEndPointBoundaryNodeRule
final
MULTIVALENT_ENDPOINT_BOUNDARY_RULE BoundaryNodeRule
The MultiValent Endpoint Boundary Node Rule. @see MultiValentEndPointBoundaryNodeRule
final
OGC_SFS_BOUNDARY_RULE BoundaryNodeRule
The Boundary Node Rule specified by the OGC Simple Features Specification, which is the same as the Mod-2 rule. @see Mod2BoundaryNodeRule
final