(mysql.info) functions-that-test-spatial-relationships-between-geometries
Info Catalog
(mysql.info) relations-on-geometry-mbr
(mysql.info) analysing-spatial-information
16.5.6 Functions That Test Spatial Relationships Between Geometries
-------------------------------------------------------------------
The OpenGIS specification defines the following functions. They test
the relationship between two geometry values `g1' and `g2'.
Currently, MySQL does not implement these functions according to the
specification. Those that are implemented return the same result as the
corresponding MBR-based functions. This includes functions in the
following list other than `Distance()' and `Related()'.
These functions may be implemented in future releases with full support
for spatial analysis, not just MBR-based support.
The return values 1 and 0 indicate true and false, respectively.
* `Contains(G1,G2)'
Returns 1 or 0 to indicate whether G1 completely contains G2.
* `Crosses(G1,G2)'
Returns 1 if G1 spatially crosses G2. Returns `NULL' if `g1' is a
`Polygon' or a `MultiPolygon', or if G2 is a `Point' or a
`MultiPoint'. Otherwise, returns 0.
The term _spatially crosses_ denotes a spatial relation between
two given geometries that has the following properties:
* The two geometries intersect
* Their intersection results in a geometry that has a dimension
that is one less than the maximum dimension of the two given
geometries
* Their intersection is not equal to either of the two given
geometries
* `Disjoint(G1,G2)'
Returns 1 or 0 to indicate whether G1 is spatially disjoint from
(does not intersect) G2.
* `Distance(G1,G2)'
Returns as a double-precision number the shortest distance between
any two points in the two geometries.
* `Equals(G1,G2)'
Returns 1 or 0 to indicate whether G1 is spatially equal to G2.
* `Intersects(G1,G2)'
Returns 1 or 0 to indicate whether G1 spatially intersects G2.
* `Overlaps(G1,G2)'
Returns 1 or 0 to indicate whether G1 spatially overlaps G2. The
term _spatially overlaps_ is used if two geometries intersect and
their intersection results in a geometry of the same dimension but
not equal to either of the given geometries.
* `Related(G1,G2,PATTERN_MATRIX)'
Returns 1 or 0 to indicate whether the spatial relationship
specified by PATTERN_MATRIX exists between G1 and G2. Returns -1
if the arguments are `NULL'. The pattern matrix is a string. Its
specification will be noted here if this function is implemented.
* `Touches(G1,G2)'
Returns 1 or 0 to indicate whether G1 spatially touches G2. Two
geometries _spatially touch_ if the interiors of the geometries do
not intersect, but the boundary of one of the geometries
intersects either the boundary or the interior of the other.
* `Within(G1,G2)'
Returns 1 or 0 to indicate whether G1 is spatially within G2.
Info Catalog
(mysql.info) relations-on-geometry-mbr
(mysql.info) analysing-spatial-information
automatically generated byinfo2html