Mysql在多边形中找到Point。

时间:2018-06-17 10:08:45

标签: mysql polygon

我想从表格中选择ID,其中多边形中存在一个点(25.10785 55.18114)。

我尝试了所有可能的东西,而它为所有东西都返回了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.18408))

这是多边形的样子。

如果多边形中存在一个点

,我希望mysql返回ID

1 个答案:

答案 0 :(得分:0)

看看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版本。

相关问题