Laravel, как запросить выделенную строку внутри полигона, используя пространственный гео - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь использовать Laravel для запроса места внутри полигона. Моя база данных хранит данные типа

id(INT) name(VARCHAR) point_coordinate(POINT)
1       AAA           (lat, lng)
2       BBB           (lat, lng)
3       CCC           (lat, lng)
4       DDD           (lat, lng)

И я использую библиотеку boxrouter, чтобы найти границу (многоугольник), например

enter image description here

Iхотел бы запросить любые строки, которые внутри вышеуказанной границы. Как я могу написать запрос на Laravel или любой другой библиотеке, которую я могу использовать?

Теперь мой sql рекомендует, как

 $t = DB::connection('cms')->table('cms_poi')
                ->select(DB::raw('poi_id, ASTEXT(poi_coodinate)'))
                ->whereRaw('ST_CONTAINS(@polygon, cms_poi.poi_coodinate) = 1')
                ->get();

Возвращает пустой массив.

С уважением.

...