怎么通過mysql 判斷點是否在指定多邊形區(qū)域內
發(fā)表時間:2023-07-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]本文將介紹使用mysql判斷點是否在指定多邊形區(qū)域內的方法,提供完整流程。1.創(chuàng)建測試表CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AU...
本文將介紹使用mysql判斷點是否在指定多邊形區(qū)域內的方法,提供完整流程。
1.創(chuàng)建測試表
CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `polygongeo` polygon NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8;
注意:空間索引只能在存儲引擎為MYISAM的表中創(chuàng)建
2.插入多邊形數(shù)據(jù)
insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));
3.判斷點是否在多邊形區(qū)域
測試 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) 在多邊形區(qū)域內
測試 POINT(6, 1)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
輸出: 空
表示點 POINT(6, 1) 在多邊形區(qū)域外
總結:mysql空間查詢并不很適合地圖坐標,因此查詢地圖坐標可以使用mongodb實現(xiàn),參考:《mongodb 判斷坐標是否在指定多邊形區(qū)域內的方法》
本文講解了通過mysql 判斷點是否在指定多邊形區(qū)域內,更多相關內容請關注php中文網(wǎng)。
相關推薦:
如何調用php imagemagick來實現(xiàn)老照片效果
關于php 計算多個集合的笛卡爾積講解
關于php文件包含目錄配置open_basedir的使用與性能分析
以上就是如何通過mysql 判斷點是否在指定多邊形區(qū)域內的詳細內容,更多請關注php中文網(wǎng)其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。