You are viewing an older version of this section. View current production version.
APPROX_GEOGRAPHY_INTERSECTS
This function is the fast approximate version of GEOGRAPHY_INTERSECTS. It takes in two geospatial objects and determines whether any part of them overlap.
Approximate results are obtained by consulting the geospatial indexes (if any) for matches, and skipping the filter phase which reduces the result set to objects that truly intersect. This means that the rows returned by this function will have false positives but no false negatives.
Syntax
APPROX_GEOGRAPHY_INTERSECTS ( geo1, geo2 )
Arguments
- geo1, geo2: any valid geospatial object or WKT string: path, point or polygon.
If both geo1 and geo2 are points, this function only returns true if they are identical.
Return Type
Boolean
Examples
memsql> select count(1)
-> from jogging_paths j1, jogging_paths j2
-> where
-> APPROX_GEOGRAPHY_INTERSECTS(j1.shape, j2.shape);
+----------+
| count(1) |
+----------+
| 11569 |
+----------+
memsql> select count(1)
-> from jogging_paths j1, jogging_paths j2
-> where
-> GEOGRAPHY_INTERSECTS(j1.shape, j2.shape);
+----------+
| count(1) |
+----------+
| 9134 |
+----------+
select *
from neighborhoods with (index = shape, resolution = 16)
where approx_geography_intersects(shape,"POLYGON(...)");
The with (index = c, resolution = n)
syntax is an optional optimization discussed in the section Special Spatial Tuning Parameters.