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.

Important

If both geo1 and geo2 are points, this function only returns true if they are identical.

Return Type

Boolean

Examples

SELECT COUNT(1)
-> FROM jogging_paths j1, jogging_paths j2
-> WHERE
-> APPROX_GEOGRAPHY_INTERSECTS(j1.shape, j2.shape);
+----------+
| COUNT(1) |
+----------+
|    11569 |
+----------+
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(...)");

Important

The with (index = c, resolution = n) syntax is an optional optimization discussed in Special Spatial Tuning Parameters.

For more information about working with geospatial data, see Working with Geospatial Features.

Last modified: May 3, 2023

Was this article helpful?