Spec-Zone .ru
спецификации, руководства, описания, API

12.18.5.4. Функции для Тестирования Пространственных Отношений Между Геометрическими Объектами

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

12.18.5.4.1. Отношения на Геометрии Минимальные Ограничительные прямоугольники (MBR)

MySQL обеспечивает несколько функций, которые тестируют отношения между минимальными ограничительными прямоугольниками двух конфигураций g1 и g2. Возвращаемые значения 1 и 0 указывают на истину и ложь, соответственно.

  • MBRContains(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальный Ограничительный прямоугольник g1 содержит Минимальный Ограничительный прямоугольник g2. Это тестирует противоположное отношение как MBRWithin().

    mysql> SET @g1 =
                            GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');mysql> SET @g2 = GeomFromText('Point(1
                            1)');mysql> SELECT MBRContains(@g1,@g2),
                            MBRContains(@g2,@g1);----------------------+----------------------+| MBRContains(@g1,@g2) | MBRContains(@g2,@g1) |+----------------------+----------------------+|                    1 |                    0 |+----------------------+----------------------+
  • MBRDisjoint(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальные Ограничительные прямоугольники этих двух конфигураций g1 и g2 являются непересекающимися (не пересекайтесь).

  • MBREqual(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальные Ограничительные прямоугольники этих двух конфигураций g1 и g2 то же самое.

  • MBRIntersects(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальные Ограничительные прямоугольники этих двух конфигураций g1 и g2 пересечься.

  • MBROverlaps(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальные Ограничительные прямоугольники этих двух конфигураций g1 и g2 перекрытие. Термин пространственно накладывается, используется, если два конфигураций пересекаются и их перекрестные результаты в геометрии той же самой размерности, но не равные любым из данных конфигураций.

  • MBRTouches(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальные Ограничительные прямоугольники этих двух конфигураций g1 и g2 касание. Два конфигураций пространственно затрагивают, если внутренние части конфигураций не пересекаются, но граница одних из конфигураций пересекает или границу или внутреннюю часть другого.

  • MBRWithin(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли на Минимальный Ограничительный прямоугольник g1 в пределах Минимального Ограничительного прямоугольника g2. Это тестирует противоположное отношение как MBRContains().

    mysql> SET @g1 =
                            GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');mysql> SET @g2 = GeomFromText('Polygon((0 0,0 5,5 5,5 0,0
                            0))');mysql> SELECT MBRWithin(@g1,@g2),
                            MBRWithin(@g2,@g1);+--------------------+--------------------+| MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) |+--------------------+--------------------+|                  1 |                  0 |+--------------------+--------------------+

12.18.5.4.2. Функции, Что Тестовые Пространственные отношения Между Конфигурациями

Спецификация OpenGIS определяет следующие функции. Они тестируют отношение между двумя значениями геометрии g1 и g2.

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

Отметить

MySQL, первоначально реализованный эти функции так, что, они использовали объектные ограничительные прямоугольники и возвратили тот же самый результат как соответствующие основанные на MBR функции. С MySQL 5.6.1 соответствующие версии доступны, которые используют точные объектные формы. Эти версии называют с ST_ префикс. Например, Contains() использование возражает ограничительным прямоугольникам, тогда как ST_Contains() использование возражает формам.

С MySQL 5.6.1, есть также ST_ псевдонимы для существующих пространственных функций, которые были уже точны. Например, ST_IsEmpty() псевдоним для IsEmpty()

Функции Тот Объект Использования Формы
  • ST_Contains(g1,g2)

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

  • ST_Crosses(g1,g2)

    Возвраты 1, если g1 пространственно кресты g2. Возвраты NULL если g1 a Polygon или a MultiPolygon, или если g2 a Point или a MultiPoint. Иначе, возвраты 0.

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

    • Эти два конфигураций пересекаются

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

    • Их пересечение не равно любым из двух данных конфигураций

  • ST_Disjoint(g1,g2)

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

  • ST_Equals(g1,g2)

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

  • ST_Intersects(g1,g2)

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

  • ST_Overlaps(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли g1 пространственно перекрытия g2. Термин пространственно накладывается, используется, если два конфигураций пересекаются и их перекрестные результаты в геометрии той же самой размерности, но не равные любым из данных конфигураций.

  • ST_Touches(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли g1 пространственно касания g2. Два конфигураций пространственно затрагивают, если внутренние части конфигураций не пересекаются, но граница одних из конфигураций пересекает или границу или внутреннюю часть другого.

  • ST_Within(g1,g2)

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

Функции То Использование Ограничительные прямоугольники
  • Contains(g1,g2)

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

  • Crosses(g1,g2)

    Возвраты 1, если g1 пространственно кресты g2. Возвраты NULL если g1 a Polygon или a MultiPolygon, или если g2 a Point или a MultiPoint. Иначе, возвраты 0.

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

    • Эти два конфигураций пересекаются

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

    • Их пересечение не равно любым из двух данных конфигураций

  • Disjoint(g1,g2)

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

  • Equals(g1,g2)

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

  • Intersects(g1,g2)

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

  • Overlaps(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли g1 пространственно перекрытия g2. Термин пространственно накладывается, используется, если два конфигураций пересекаются и их перекрестные результаты в геометрии той же самой размерности, но не равные любым из данных конфигураций.

  • Touches(g1,g2)

    Возвраты 1 или 0, чтобы указать, ли g1 пространственно касания g2. Два конфигураций пространственно затрагивают, если внутренние части конфигураций не пересекаются, но граница одних из конфигураций пересекает или границу или внутреннюю часть другого.

  • Within(g1,g2)

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