Class LineLimiter
Limits the segments in a list of segments to those which intersect an envelope. This creates zero or more sections of the input segment sequences, containing only line segments which intersect the limit envelope. Segments are not clipped, since that can move line segments enough to alter topology, and it happens in the overlay in any case. This can substantially reduce the number of vertices which need to be processed during overlay.
This optimization is only applicable to Line geometries, since it does not maintain the closed topology of rings. Polygonal geometries are optimized using the RingClipper.
Inherited Members
Namespace: NetTopologySuite.Operation.OverlayNG
Assembly: NetTopologySuite.dll
Syntax
public sealed class LineLimiter
Constructors
| Improve this Doc View SourceLineLimiter(Envelope)
Creates a new limiter for a given envelope.
Declaration
public LineLimiter(Envelope env)
Parameters
Type | Name | Description |
---|---|---|
Envelope | env | The envelope to limit to |
Methods
| Improve this Doc View SourceLimit(IEnumerable<Coordinate>)
Limits a list of segments.
Declaration
public List<Coordinate[]> Limit(IEnumerable<Coordinate> pts)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Coordinate> | pts | The segment sequence to limit |
Returns
Type | Description |
---|---|
List<Coordinate[]> | The sections which intersect the limit envelope |