Поиск таблицы для точки в полигоне с использованием MySQL
Я создал таблицу (unicipal_border) в MySQL 5.5, которая содержит некоторые границы.
CREATE TABLE `municipal_border` (
`boundary` polygon NOT NULL,
`municipalID` int(10) NOT NULL,
) ENGINE=InnoDB
ПолеunicipalID не уникально.
используя код ниже, чтобы проверить, принадлежит ли точка к многоугольнику.
set @r = (SELECT municipal_border.boundary FROM municipal_border WHERE municipalID=9001);
set @p = GeomFromText('POINT(24.1621 41.0548)');
select if(contains(@r, @p), 'yes', 'no');
Первая инструкция set @r = ... возвращает только одну строку, и я выбрал ее специально для тестирования. Работает просто отлично.
Я хочу выполнить поиск по всей таблице (другими словами, стереть часть WHERE из вопроса SQL) и найти, в каком многоугольнике находится точка.