Я создал таблицу (urban_border) в MySQL 5.5, которая имеет некоторые границы.Поиск таблицы для точки в многоугольнике с использованием MySQL
CREATE TABLE `municipal_border` (
`boundary` polygon NOT NULL,
`municipalID` int(10) NOT NULL,
) ENGINE=InnoDB
Полевой муниципалитет не уникален.
Я использую следующий код, чтобы проверить, принадлежит ли точка полигону.
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 = ... возвращает только одну строку, и я выбрал его специально для тестирования. Он работает просто отлично.
То, что я хочу сделать, это найти всю таблицу (стирание, другими словами, где часть от вопроса SQL) и найти, в котором многоугольник точка находится.
Не похоже, что это доступно для 5.5, вы когда-нибудь пробовали работать? Я застрял в 5.5 в настоящее время. –
Нет. Я ничего не реализовал, так как я был очень доволен функциями ST_. В моих заметках у меня есть [ссылка] (http://assemblysys.com/php-point-in-polygon-algorithm/), которая может быть альтернативой. –