Спецификация OpenGIS определяет следующие функции. Они проверяют связь между двумя значениями геометрии g1 и g2.
В настоящее время MySQL не выполняет эти функции согласно спецификации. Которые выполнены, возвратят тот же самый результат, что и соответствующие MBR-функции. Это включает функции в следующем списке. Эти функции могут быть выполнены в будущих выпусках с полной поддержкой для пространственного анализа, а не только MBR-поддержки.
Contains(g1,g2)
Возвращает 1 или 0, чтобы указать, содержит ли g1 полностью g2.
Crosses(g1,g2)
Возвращает 1, если g1 пространственно пересекает g2. Возвращает NULL, если g1 Polygon или MultiPolygon, либо если g2 Point или MultiPoint. Иначе возвращает 0.
Термин "пространственно пересекается", обозначает пространственное отношение между двумя данными конфигурациями, которые имеют следующие реквизиты:
Две конфигурации пересекаются.
Их пересечение приводит к геометрии, которая имеет размерность, которая на единицу меньше, чем максимальная размерность двух данных конфигураций.
Их пересечение не равно любой из двух данных конфигураций.
Disjoint(g1,g2)
Возвращается 1 или 0, чтобы указать, является ли g1 пространственно непересекающейся с g2.
Distance(g1,g2)
Возвращает как число двойной точности самое короткое расстояние между любыми двумя точками в двух конфигурациях.
Equals(g1,g2)
Возвращает 1 или 0, чтобы указать, является ли g1 пространственно равной g2.
Intersects(g1,g2)
Возвращает 1 или 0, чтобы указать, пересекает ли g1 пространственно g2.
Overlaps(g1,g2)
Возвращает 1 или 0, чтобы указать, накладывается ли g1 пространственно на g2. Термин "пространственно накладывается" используется, если две конфигурации пересекаются, и их пересечение приводит к геометрии той же самой размерности, но не равной любой из данных конфигураций.
Related(g1,g2,pattern_matrix )
Возвращает 1 или 0, чтобы указать, существует ли пространственная связь, определенная pattern_matrix между g1 и g2. Возвращает 1, если параметры NULL. Матрица образцов является строкой. Спецификация будет отмечена здесь, если эта функция выполнена.
Touches(g1,g2)
Возвращается 1 или 0, чтобы указать, касается ли g1 пространственно g2. Две конфигурации пространственно касаются, если внутренности конфигураций не пересекаются, но граница одной из конфигураций пересекает границу или внутренность другой.
Within(g1,g2)
Возвращается 1 или 0, чтобы указать, является ли g1 пространственно внутри g2.