[postgis-users] point in polygon or equivalent
Michael Fuhr
mike at fuhr.org
Mon Jan 2 20:01:09 PST 2006
On Mon, Jan 02, 2006 at 07:17:00PM -0800, Mark Wright wrote:
> What is the benefit to using the contains() or within() functions
> rather than the ~ operator? I've tested both and they give the same
> results in the same amount of time (plus or minus about 20
> miliseconds).
The operator checks bounding boxes; the function checks the
geometries themselves. Example:
+-----------+
| | A
| +-------+
| | +--+
| | | | B
| | +--+
+---+
A's bounding box contains B's bounding box so A ~ B would be true,
but A doesn't actually contain B so contains(A, B) would be false.
Bounding box searches can use an index so they're a fast way to
find possible matches; the function identifies matches with certainty
but it's more expensive, especially for complex geometries, so you
want to avoid calling it when it's known that it will return false.
--
Michael Fuhr
More information about the postgis-users
mailing list