Spec-Zone.ru › MySQL 8.4

13.4.4 Правильность и валидность геометрии

Для геометрических значений MySQL различает понятия синтаксической правильности и геометрической валидности.

Геометрия считается синтаксически правильной, если она удовлетворяет условиям, таким как в этом (неисчерпывающем) списке:

  • Линейные строки содержат как минимум две точки

  • Многоугольники содержат как минимум одну область

  • Области многоугольников замкнуты (первая и последняя точки совпадают)

  • Области многоугольников содержат как минимум 4 точки (минимальный многоугольник — это треугольник, у которого первая и последняя точки совпадают)

  • Коллекции не пустые (за исключением GeometryCollection)

Геометрия считается геометрически валидной, если она синтаксически правильна и удовлетворяет условиям, таким как в этом (неисчерпывающем) списке:

  • Многоугольники не самопересекающиеся

  • Внутренние области многоугольников расположены внутри внешней области

  • Многоугольники не перекрываются

Функции пространственных данных завершаются ошибкой, если геометрия не синтаксически правильна. Функции пространственного импорта, которые анализируют значения WKT или WKB, генерируют ошибку при попытке создания геометрии, которая не синтаксически правильна. Синтаксическая правильность также проверяется при попытке сохранить геометрии в таблицы.

Разрешено вставлять, выбирать и обновлять геометрически невалидные геометрии, но они должны быть синтаксически правильными. Из-за вычислительных затрат MySQL не проверяет явно геометрическую валидность. Пространственные вычисления могут обнаружить некоторые случаи невалидных геометрий и сгенерировать ошибку, но также могут вернуть неопределённый результат, не обнаружив невалидность. Приложения, которые требуют геометрически валидных геометрий, должны проверять их с помощью функции ST_IsValid().

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/geometry-well-formedness-validity.html

Spec-Zone.ru

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