在多边形中查找点

taor4pac  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(330)

我想从一个多边形中存在点(25.10785 55.18114)的表位置中选择id。
我尝试了所有可能的方法,但是它返回空值。
多边形((25.11031 55.18408,25.11109 55.18459,25.11288 55.18811,25.11653 55.19301,25.12197 55.20176,25.1034 55.23103,25.09471 55.242447,25.0826 55.24944,25.05652 55.24897,25.05526 55.23672,25.05306 55.22412,25.06665 55.22071,25.07212 55.21617,25.07821 55.20957,25.09016 55.19002,25.09583 55.18403,25.1046 55.17734,25.10785 55.18114,25.11031 55.18408))
这就是多边形的样子。
如果多边形中存在一个点,我希望mysql返回id

jucafojl

jucafojl1#

看看mysql函数containt或st\u contains。stu contains(g1,g2)返回1或0以指示g1是否完全包含g2。
在您的示例中,您可以执行以下操作:

SELECT id FROM your_table WHERE CONTAINS(your_polygon, PointFromText(POINT(25.10785 55.18114))

确保检查您使用的是哪个mysql版本。

相关问题