4
我在MySQL 5.5中创建了一个表格(municipal_border),它包含一些边界。使用MySQL在多边形中搜索表格
CREATE TABLE `municipal_border` (
`boundary` polygon NOT NULL,
`municipalID` int(10) NOT NULL,
) ENGINE=InnoDB
该fieldID不是唯一的。
我正在使用下面的代码来测试一个点是否属于一个多边形。
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问题),并在其中找到多边形点是英寸
它看起来并不像5.5可用,你有没有尝试过任何解决方法?目前我被困在5.5中。 – 2014-09-04 17:55:49
不,我没有执行其他任何事情,因为我对ST_函数非常满意。 在我的笔记我有这个[链接](http://assemblysys.com/php-point-in-polygon-algorithm/)这可能是一个替代。 – 2014-09-11 19:00:16