libpysal.cg.PointLocator

class libpysal.cg.PointLocator(points)[source]

An abstract representation of a point indexing data structure.

__init__(self, points)[source]

Returns a point locator object.

__init__(Point list) -> PointLocator

Parameters
pointsa list of points to index

Examples

>>> points = [Point((0, 0)), Point((1, 6)), Point((5.4, 1.4))]
>>> pl = PointLocator(points)

Methods

__init__(self, points)

Returns a point locator object.

nearest(self, query_point)

Returns the nearest point indexed to a query point.

overlapping(self, region_rect)

Returns the indexed points located inside a rectangular query region.

polygon(self, polygon)

Returns the indexed points located inside a polygon

proximity(self, origin, r)

Returns the indexed points located within some distance of an origin point.

region(self, region_rect)

Returns the indexed points located inside a rectangular query region.

nearest(self, query_point)[source]

Returns the nearest point indexed to a query point.

nearest(Point) -> Point

Parameters
query_pointa point to find the nearest indexed point to

Examples

>>> points = [Point((0, 0)), Point((1, 6)), Point((5.4, 1.4))]
>>> pl = PointLocator(points)
>>> n = pl.nearest(Point((1, 1)))
>>> str(n)
'(0.0, 0.0)'
overlapping(self, region_rect)

Returns the indexed points located inside a rectangular query region.

region(Rectangle) -> Point list

Parameters
region_rectthe rectangular range to find indexed points in

Examples

>>> points = [Point((0, 0)), Point((1, 6)), Point((5.4, 1.4))]
>>> pl = PointLocator(points)
>>> pts = pl.region(Rectangle(-1, -1, 10, 10))
>>> len(pts)
3
polygon(self, polygon)[source]

Returns the indexed points located inside a polygon

proximity(self, origin, r)[source]

Returns the indexed points located within some distance of an origin point.

proximity(Point, number) -> Point list

Parameters
originthe point to find indexed points near
rthe maximum distance to find indexed point from the origin point

Examples

>>> points = [Point((0, 0)), Point((1, 6)), Point((5.4, 1.4))]
>>> pl = PointLocator(points)
>>> len(pl.proximity(Point((1, 0)), 2))
1
region(self, region_rect)[source]

Returns the indexed points located inside a rectangular query region.

region(Rectangle) -> Point list

Parameters
region_rectthe rectangular range to find indexed points in

Examples

>>> points = [Point((0, 0)), Point((1, 6)), Point((5.4, 1.4))]
>>> pl = PointLocator(points)
>>> pts = pl.region(Rectangle(-1, -1, 10, 10))
>>> len(pts)
3