Spec-Zone.ru › MySQL 5.7

12.16.9.1 Функции пространственных отношений, использующие формы объектов

Спецификация OpenGIS определяет следующие функции для проверки отношения между двумя геометрическими значениями g1 и g2, используя точные формы объектов. Значения возврата 1 и 0 обозначают истинность и ложность соответственно, за исключением ST_Distance() и Distance(), которые возвращают значения расстояния.

Эти функции поддерживают все комбинации типов аргументов, за исключением тех, которые неприменимы согласно спецификации Open Geospatial Consortium.

  • Crosses(g1, g2)

    ST_Crosses() и Crosses() являются синонимами. Дополнительную информацию см. в описании ST_Crosses().

    Crosses() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_Crosses() вместо нее.

  • Distance(g1, g2)

    ST_Distance() и Distance() являются синонимами. Дополнительную информацию см. в описании ST_Distance().

    Distance() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_Distance() вместо нее.

  • ST_Contains(g1, g2)

    Возвращает 1 или 0, чтобы указать, содержит ли g1 полностью g2. Это проверяет обратное отношение по сравнению с ST_Within().

  • ST_Crosses(g1, g2)

    Термин пространственно пересекается обозначает пространственное отношение между двумя заданными геометриями, обладающими следующими свойствами:

    • Две геометрии пересекаются.

    • Их пересечение приводит к геометрии, размерность которой на единицу меньше максимальной размерности двух заданных геометрий.

    • Их пересечение не равно ни одной из двух заданных геометрий.

    Эта функция возвращает 1 или 0, чтобы указать, пространственно ли g1 пересекает g2. Если g1 является Polygon или MultiPolygon, или если g2 является Point или MultiPoint, значение возврата равно NULL.

    Эта функция возвращает 0, если вызвана с комбинацией типов аргументов геометрии, которая неприменима. Например, она возвращает 0, если первый аргумент является Polygon или MultiPolygon и/или второй аргумент является Point или MultiPoint.

    Возвращает 1, если g1 пространственно пересекает g2. Возвращает NULL, если g1 является Polygon или MultiPolygon, или если g2 является Point или MultiPoint. В противном случае возвращает 0.

    Эта функция возвращает 0, если вызвана с комбинацией типов аргументов геометрии, которая неприменима. Например, она возвращает 0, если первый аргумент является Polygon или MultiPolygon и/или второй аргумент является Point или MultiPoint.

    ST_Crosses() и Crosses() являются синонимами.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/spatial-relation-functions-object-shapes.html

  • ST_Disjoint(g1, g2)

    Возвращает 1 или 0, чтобы указать, является ли g1 пространственно непересекающимся с (не пересекающим) g2.

  • ST_Distance(g1, g2)

    Возвращает расстояние между g1 и g2. Если любой из аргументов является NULL или пустой геометрией, значение возврата равно NULL.

    Эта функция обрабатывает коллекции геометрий, возвращая кратчайшее расстояние среди всех комбинаций компонентов двух геометрических аргументов.

    Если промежуточный или конечный результат приводит к NaN или отрицательному числу, возникает ошибка.

    mysql> SET @g1 = Point(1,1);
    mysql> SET @g2 = Point(2,2);
    mysql> SELECT ST_Distance(@g1, @g2);
    +-----------------------+
    | ST_Distance(@g1, @g2) |
    +-----------------------+
    |    1.4142135623730951 |
    +-----------------------+
    

    ST_Distance() и Distance() являются синонимами.

  • ST_Equals(g1, g2)

    Возвращает 1 или 0, чтобы указать, является ли g1 пространственно равным g2.

    mysql> SET @g1 = Point(1,1), @g2 = Point(2,2);
    mysql> SELECT ST_Equals(@g1, @g1), ST_Equals(@g1, @g2);
    +---------------------+---------------------+
    | ST_Equals(@g1, @g1) | ST_Equals(@g1, @g2) |
    +---------------------+---------------------+
    |                   1 |                   0 |
    +---------------------+---------------------+
    
  • ST_Intersects(g1, g2)

    Возвращает 1 или 0, чтобы указать, пространственно ли g1 пересекает g2.

  • ST_Overlaps(g1, g2)

    Две геометрии пространственно перекрываются, если они пересекаются и их пересечение приводит к геометрии той же размерности, но не равной ни одной из заданных геометрий.

    Эта функция возвращает 1 или 0, чтобы указать, пространственно ли g1 перекрывает g2.

    Эта функция возвращает 0, если вызвана с комбинацией типов аргументов геометрии, которая неприменима. Например, она возвращает 0, если вызвана с геометриями разной размерности или если любой из аргументов является Point.

  • ST_Touches(g1, g2)

    Две геометрии пространственно касаются, если их внутренности не пересекаются, но граница одной из геометрий пересекает либо границу, либо внутренность другой.

    Эта функция возвращает 1 или 0, чтобы указать, пространственно ли g1 касается g2.

    Эта функция возвращает 0, если вызвана с комбинацией типов аргументов геометрии, которая неприменима. Например, она возвращает 0, если любой из аргументов является Point или MultiPoint.

    ST_Touches() и Touches() являются синонимами.

  • ST_Within(g1, g2)

    Возвращает 1 или 0, чтобы указать, находится ли g1 пространственно внутри g2. Это проверяет обратное отношение по сравнению с ST_Contains().

  • Touches(g1, g2)

    ST_Touches() и Touches() являются синонимами. Дополнительную информацию см. в описании ST_Touches().

    Touches() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_Touches() вместо нее.

  • © 2025 Oracle
    Licensed under the GPLv2 License.
    https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/spatial-relation-functions-object-shapes.html

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API