MBRWithin(
Возвращает 1 или 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 |
+--------------------+--------------------+
4.5.6. Функции, которые проверяют пространственные связи между конфигурациями
Спецификация OpenGIS определяет следующие функции. Они проверяют связь между двумя значениями геометрии g1 и g2.
В настоящее время MySQL не выполняет эти функции согласно спецификации. Которые выполнены, возвратят тот же самый результат, что и соответствующие MBR-функции. Это включает функции в следующем списке. Эти функции могут быть выполнены в будущих выпусках с полной поддержкой для пространственного анализа, а не только MBR-поддержки.
Contains(
Возвращает 1 или 0, чтобы указать, содержит ли
Crosses(
Возвращает 1, если
Термин 'пространственно пересекается', обозначает пространственное отношение между двумя данными конфигурациями, которые имеют следующие реквизиты:
Две конфигурации пересекаются.
Их пересечение приводит к геометрии, которая имеет размерность, которая на единицу меньше, чем максимальная размерность двух данных конфигураций.
Их пересечение не равно любой из двух данных конфигураций.
Disjoint(
Возвращается 1 или 0, чтобы указать, является ли
Distance(
Возвращает как число двойной точности самое короткое расстояние между любыми двумя точками в двух конфигурациях.
Equals(
Возвращает 1 или 0, чтобы указать, является ли
Intersects(
Возвращает 1 или 0, чтобы указать, пересекает ли
Overlaps(
Возвращает 1 или 0, чтобы указать, накладывается ли
Related(
Возвращает 1 или 0, чтобы указать, существует ли пространственная связь, определенная
Touches(
Возвращается 1 или 0, чтобы указать, касается ли
Within(
Возвращается 1 или 0, чтобы указать, является ли
4.6. Оптимизация пространственного анализа
Операции поиска в непространственных базах данных могут быть оптимизированы, используя индексы. Это также истинно для пространственных баз данных. С помощью большого разнообразия многомерных методов индексации, которые предварительно были разработаны, возможно оптимизировать пространственные поиски. Наиболее типично для них:
Запросы точки, которые ищут все объекты, которые содержат данную точку.
Запросы области, которые ищут все объекты, которые накладываются на данную область.
MySQL использует R-деревья с квадратным разбиением, чтобы индексировать пространственные столбцы. Пространственный индекс сформирован, используя MBR геометрии. Для большинства конфигураций MBR минимальный прямоугольник, который окружает конфигурацию. Для горизонтальных или вертикальных linestring MBR прямоугольник, вырождающийся в linestring. Для point MBR является точкой.
Также возможно создать нормальные индексы на пространственных столбцах. Вам надо объявить