У меня есть пространственная база данных MySQL 5.6 с таблицей, содержащей около 50 000 полигонов. У меня есть координаты ограничивающей рамки в виде полигона WKT, и мне нужно получить все полигоны из базы данных, которые полностью или частично находятся внутри этой рамки.
В настоящее время я пытаюсь использовать следующий код, однако он возвращает пустой набор результатов.
SELECT * FROM `polygons` WHERE mbrIntersects(ogc_geom,GeomFromText('POLYGON(-18 120,-10 120,-10 140,-18 140)'))
Я пробовал MBRContains, ST_Contains, MBRWithin и ST_Intersects. Я также пробовал переключать долготу и широту. Все эти вещи ничего не сделали.
Я также пробовал следующее
SELECT mbrIntersects(ogc_geom,GeomFromText('POLYGON(-18 120,-10 120,-10 140,-18 140)')) FROM `polygons`
Вышеупомянутое просто вернуло все результаты и ничего не добилось.
Короче говоря, я хотел бы знать, как получить все полигоны из базы данных MySQL, которые находятся в пределах предоставленного полигона WKT.
Спасибо