1.建立测试表
CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `polygongeo` polygon NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
注重:空间索引只能在存储引擎为MYISAM的表中建立
2.插进去多边形数据
insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));
3.推断点是不是在多边形地区
测试 POINT(3, 4)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(3 4)'),polygongeo);
输出: POLYGON((1 1,1 5,5 5,5 1,1 1))
示意点 POINT(3, 4) 在多边形地区内
测试 POINT(6, 1)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
输出: 空
示意点 POINT(6, 1) 在多边形地区外
总结:mysql空间查询并不很合适舆图坐标,因而查询舆图坐标能够运用mongodb完成,参考:《mongodb 推断坐标是不是在指定多边形地区内的要领》
本文解说了怎样经由过程mysql 推断点是不是在指定多边形地区内 ,更多相干内容请关注ki4网。
相干引荐:
经由过程php 中的imagemagick来完成老照片结果
怎样经由过程php 盘算多个鸠合的笛卡尔积的相干学问
微信开辟的分享接口 相干内容
以上就是经由过程mysql 推断点是不是在指定多边形地区内的细致内容,更多请关注ki4网别的相干文章!