4

我使用 mysql 空间函数。

我必须了解点是否位于多面体中。
最初我使用MBRContains但它以一种奇怪的方式工作,所以我遇到了以下错误:Mysql function MBRContains is not accuracy

在此处输入图像描述

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

附言

我发现功能在哪里:

ST_Touches(g1, g2)

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

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

?

问题:

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

4

2 回答 2

1

看起来像工作解决方案:

ST_Contains(g1,g2) || ST_Touches(g1, g2)
于 2018-11-30T09:28:38.533 回答
0

看起来 ST_Distance(AREA, @point)) = 0包括边框

于 2018-11-30T09:09:08.217 回答