Class SimplePointInAreaLocator
- java.lang.Object
-
- org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator
-
- All Implemented Interfaces:
PointOnGeometryLocator
public class SimplePointInAreaLocator extends java.lang.Object implements PointOnGeometryLocator
Computes the location of points relative to aPolygonal
Geometry
, using a simple O(n) algorithm.The algorithm used reports if a point lies in the interior, exterior, or exactly on the boundary of the Geometry.
Instance methods are provided to implement the interface
SimplePointInAreaLocator
. However, they provide no performance advantage over the class methods.This algorithm is suitable for use in cases where only a few points will be tested. If many points will be tested,
IndexedPointInAreaLocator
may provide better performance.- Version:
- 1.7
-
-
Constructor Summary
Constructors Constructor Description SimplePointInAreaLocator(Geometry geom)
Create an instance of a point-in-area locator, using the provided areal geometry.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
containsPointInPolygon(Coordinate p, Polygon poly)
Determines whether a point lies in aPolygon
.static boolean
isContained(Coordinate p, Geometry geom)
Determines whether a point is contained in aGeometry
, or lies on its boundary.int
locate(Coordinate p)
static int
locate(Coordinate p, Geometry geom)
static int
locatePointInPolygon(Coordinate p, Polygon poly)
-
-
-
Constructor Detail
-
SimplePointInAreaLocator
public SimplePointInAreaLocator(Geometry geom)
Create an instance of a point-in-area locator, using the provided areal geometry.- Parameters:
geom
- the areal geometry to locate in
-
-
Method Detail
-
locate
public static int locate(Coordinate p, Geometry geom)
Determines theLocation
of a point in an arealGeometry
. The return value is one of:Location.INTERIOR
if the point is in the geometry interiorLocation.BOUNDARY
if the point lies exactly on the boundaryLocation.EXTERIOR
if the point is outside the geometry
- Parameters:
p
- the point to testgeom
- the areal geometry to test- Returns:
- the Location of the point in the geometry
-
isContained
public static boolean isContained(Coordinate p, Geometry geom)
Determines whether a point is contained in aGeometry
, or lies on its boundary. This is a convenience method forLocation.EXTERIOR != locate(p, geom)
- Parameters:
p
- the point to testgeom
- the geometry to test- Returns:
- true if the point lies in or on the geometry
-
locatePointInPolygon
public static int locatePointInPolygon(Coordinate p, Polygon poly)
Determines theLocation
of a point in aPolygon
. The return value is one of:Location.INTERIOR
if the point is in the geometry interiorLocation.BOUNDARY
if the point lies exactly on the boundaryLocation.EXTERIOR
if the point is outside the geometry
locate(Coordinate, Geometry)
instead.- Parameters:
p
- the point to testpoly
- the geometry to test- Returns:
- the Location of the point in the polygon
-
containsPointInPolygon
public static boolean containsPointInPolygon(Coordinate p, Polygon poly)
Determines whether a point lies in aPolygon
. If the point lies on the polygon boundary it is considered to be inside.- Parameters:
p
- the point to testpoly
- the geometry to test- Returns:
- true if the point lies in or on the polygon
-
locate
public int locate(Coordinate p)
Determines theLocation
of a point in an arealGeometry
. The return value is one of:Location.INTERIOR
if the point is in the geometry interiorLocation.BOUNDARY
if the point lies exactly on the boundaryLocation.EXTERIOR
if the point is outside the geometry
- Specified by:
locate
in interfacePointOnGeometryLocator
- Parameters:
p
- the point to test- Returns:
- the Location of the point in the geometry
-
-