加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用mysql 判断点在指定多边形区域内剖析

发布时间:2023-09-06 14:25:26 所属栏目:MySql教程 来源:
导读:本文主要给大家简单讲讲使用mysql 判断点在指定多边形区域内解析,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,直奔主题,希望可以给大家带来一些实际帮助。

1.创建测试表

CR
本文主要给大家简单讲讲使用mysql 判断点在指定多边形区域内解析,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,直奔主题,希望可以给大家带来一些实际帮助。
 
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)
 
使用mysql 判断点在指定多边形区域内解析
 
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
 
输出: 空
 
表示点 POINT(6, 1) 在多边形区域外
 
总结:mysql空间查询并不很适合地图坐标,因此查询地图坐标可以使用mongodb实现,参考:《mongodb 判断坐标是否在指定多边形区域内的方法》
 

 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章