Class SimplePointInAreaLocator
- java.lang.Object
-
- org.locationtech.jts.algorithm.locate.SimplePointInAreaLocator
-
- All Implemented Interfaces:
PointOnGeometryLocator
public class SimplePointInAreaLocator extends Object implements PointOnGeometryLocator
Computes the location of points relative to aPolygonalGeometry, 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
PointInAreaLocator. 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,
IndexedPointInAreaLocatormay 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 booleancontainsPointInPolygon(Coordinate p, Polygon poly)Determines whether a point lies in aPolygon.static booleanisContained(Coordinate p, Geometry geom)Determines whether a point is contained in aGeometry, or lies on its boundary.intlocate(Coordinate p)static intlocate(Coordinate p, Geometry geom)static intlocatePointInPolygon(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 theLocationof a point in an arealGeometry. The return value is one of:Location.INTERIORif the point is in the geometry interiorLocation.BOUNDARYif the point lies exactly on the boundaryLocation.EXTERIORif 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 theLocationof a point in aPolygon. The return value is one of:Location.INTERIORif the point is in the geometry interiorLocation.BOUNDARYif the point lies exactly on the boundaryLocation.EXTERIORif 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 theLocationof a point in an arealGeometry. The return value is one of:Location.INTERIORif the point is in the geometry interiorLocation.BOUNDARYif the point lies exactly on the boundaryLocation.EXTERIORif the point is outside the geometry
- Specified by:
locatein interfacePointOnGeometryLocator- Parameters:
p- the point to test- Returns:
- the Location of the point in the geometry
-
-