Outdated Version

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.

image

Syntax

APPROX_GEOGRAPHY_INTERSECTS ( geo1, geo2 )

Arguments

  • geo1, geo2: any valid geospatial object or WKT string: path, point or polygon.
Info

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(...)");
Info

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