MySQL: Выберите точки из столбца ГЕОМЕТРИИ, которые находятся в ограничивающем поле

#mysql #spatial #spatial-query

Вопрос:

Учитывая, что a MULTILINESTRING находится в GEOMETRY столбце таблицы MySQL 8, как я могу выбрать только те точки, которые находятся в пределах ограничивающего прямоугольника?

Я не хочу проверять, находится ли геометрия в пределах ограничивающей рамки, я хочу, чтобы был GEOMETRY возвращен новый объект, содержащий точки в пределах ограничивающей рамки.

Предположим, что линия является:

 LINESTRING(15 30, 19 29, 23 29, 27 29, 31 30)
 

И ограничивающая рамка определяется линией:

 LINESTRING(19 30, 24 27)
 

Тогда я ожидал бы, что будут возвращены только 2-я (19 29) и 3-я (23 29) точки, и, таким образом, мой результат должен быть:

 LINESTRING(19 29, 23 29)
 

Я не мог найти функцию, чтобы выполнить это.