繁体   English   中英

Mysql:ST_包含带有边框以检测多面体是否包含点

[英]Mysql: ST_Contains with borders to detect if multipolygon contains point

我使用mysql空间函数。

我必须了解点是否与多多边形有关。
最初,我使用MBRContains但是它以一种奇怪的方式工作,所以我遇到了以下错误: Mysql函数MBRContains不正确

在此处输入图片说明

我的下一步是切换到功能ST_Contains 但是我发现,如果我使用来自多边形的多边形作为参数,函数将返回false,但是我想取消所有多边形的边界。

聚苯乙烯

我发现函数在哪里:

ST_Touches(g1,g2)

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

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

题:

如何实现我想要的行为?

看起来像工作解决方案:

ST_Contains(g1,g2) || ST_Touches(g1, g2)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM