Mysql: ST_Contains 带边框检测多边形是否包含点

gst*_*low 5 mysql spatial spatial-query point-in-polygon mysql-spatial

我使用mysql空间函数。

我必须了解点是否位于多边形内。
最初我使用过MBRContains,但它的工作方式很奇怪,所以我遇到了以下错误:Mysql function MBRContains is not strict

在此输入图像描述

我的下一步是切换到功能ST_Contains。但我发现,如果我使用多边形(来自多重多边形)顶点作为参数 - 函数返回 false 但我想排除所有多重多边形边界。

聚苯乙烯

我发现函数在哪里:

ST_触摸(g1,g2)

如果两个几何图形的内部不相交,则它们在空间上接触,但其中一个几何图形的边界与另一个几何图形的边界或内部相交

看起来它像我想要的那样工作(在OR条件下ST_contains),但文档对我来说不清楚。你能解释一下两个条件如何同时成立吗
1. 内部不相交
2. 边界与内部相交。

问题:

我怎样才能实现我想要的行为?

gst*_*low 1

这看起来是一个可行的解决方案:

ST_Contains(g1,g2) || ST_Touches(g1, g2)
Run Code Online (Sandbox Code Playgroud)