Mysql在多边形中查找点。

Mysql在多边形中查找点。,mysql,polygon,Mysql,Polygon,我想从多边形中存在点(25.10785 55.18114)的表位置中选择ID 我尝试了所有可能的方法,但它对所有方法都返回null 多边形((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.24247, 25.0826 55.24944, 25.05652 55.24897, 25.05526 55.23

我想从多边形中存在点(25.10785 55.18114)的表位置中选择ID

我尝试了所有可能的方法,但它对所有方法都返回null

多边形((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.24247, 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.18(408))

这就是多边形的外观


如果多边形中存在点,我希望mysql返回ID查看mysql函数Containt或ST_Contains。ST_Contains(g1,g2)返回1或0以指示g1是否完全包含g2

在您的示例中,您可以执行以下操作:

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

确保检查您正在使用的mysql版本。

我们总是很乐意帮助和支持新的编码人员,但您需要首先帮助自己。:-)如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,并提供一个解决方案。读一个好问题。请务必阅读。可能的副本