|
JTS Topology Suite version 1.12 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.vividsolutions.jts.algorithm.RayCrossingCounter
public class RayCrossingCounter
Counts the number of segments crossed by a horizontal ray extending to the right
from a given point, in an incremental fashion.
This can be used to determine whether a point lies in a Polygonal
geometry.
The class determines the situation where the point lies exactly on a segment.
When being used for Point-In-Polygon determination, this case allows short-circuiting
the evaluation.
This class handles polygonal geometries with any number of shells and holes. The orientation of the shell and hole rings is unimportant. In order to compute a correct location for a given polygonal geometry, it is essential that all segments are counted which
Constructor Summary | |
---|---|
RayCrossingCounter(Coordinate p)
|
Method Summary | |
---|---|
void |
countSegment(Coordinate p1,
Coordinate p2)
Counts a segment |
int |
getLocation()
Gets the Location of the point relative to
the ring, polygon
or multipolygon from which the processed segments were provided. |
boolean |
isOnSegment()
Reports whether the point lies exactly on one of the supplied segments. |
boolean |
isPointInPolygon()
Tests whether the point lies in or on the ring, polygon or multipolygon from which the processed segments were provided. |
static int |
locatePointInRing(Coordinate p,
Coordinate[] ring)
Determines the Location of a point in a ring. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RayCrossingCounter(Coordinate p)
Method Detail |
---|
public static int locatePointInRing(Coordinate p, Coordinate[] ring)
Location
of a point in a ring.
This method is an exemplar of how to use this class.
p
- the point to testring
- an array of Coordinates forming a ring
public void countSegment(Coordinate p1, Coordinate p2)
p1
- an endpoint of the segmentp2
- another endpoint of the segmentpublic boolean isOnSegment()
public int getLocation()
Location
of the point relative to
the ring, polygon
or multipolygon from which the processed segments were provided.
This method only determines the correct location if all relevant segments must have been processed.
public boolean isPointInPolygon()
This method only determines the correct location if all relevant segments must have been processed.
|
JTS Topology Suite version 1.12 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |