Я пытаюсь получить записи из mysql по имеющейся области. Не могу понять в чем проблема в запросе. Вот как я пытаюсь это сделать:
SELECT CONCAT('POINT(',lat,' ',lng,')') as pnt, if(Contains(GeomFromText('POLYGON((55.342165 31.733829, 58.118611 42.808047, 58.141857 43.643008, 57.721089 45.005313, 57.247739 46.016055, 56.574652 46.587344, 55.367202 46.543399, 54.327584 44.653751, 53.810645 42.676212, 53.575909 39.951602, 53.339857 34.546329, 53.758595 31.997501, 54.044068 31.601993, 55.065706 31.382266, 55.517091 32.436954))'),GeomFromText(CONCAT('POINT(',lat,' ', lng,')'))), 'yes', 'no') as in_poly FROM coordinates
В таблице координат у меня есть точки которые должны попасть в плоскость. Но мне кажется что у меня не создается плоскость.
Решение заключается в следующем: в конец полученных с карты координат необходимо ставить первую пару координат. По моим соображениям это "замыкает" плоскость.
Вот верный запрос:
SELECT CONCAT('POINT(',lat,' ',lng,')') as pnt, if(Contains(GeomFromText('POLYGON((55.342165 31.733829, 58.118611 42.808047, 58.141857 43.643008, 57.721089 45.005313, 57.247739 46.016055, 56.574652 46.587344, 55.367202 46.543399, 54.327584 44.653751, 53.810645 42.676212, 53.575909 39.951602, 53.339857 34.546329, 53.758595 31.997501, 54.044068 31.601993, 55.065706 31.382266, 55.517091 32.436954, 55.342165 31.733829))'),GeomFromText(CONCAT('POINT(',lat,' ', lng,')'))), 'yes', 'no') as in_poly FROM coordinates
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется WPF-приложение (аудио-проигрыватель)Необходимо добавить возможность отлавливать нажатие определённых клавиш, даже когда приложение...
Есть необходимость достраивать строку до "полного вида"Думал сделать это через регулярное выражение