
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 PointInPolygon determination, this case allows shortcircuiting
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 