首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql st_intersects + st_buffer不工作

Mysql st_intersects + st_buffer不工作
EN

Stack Overflow用户
提问于 2015-08-17 04:53:31
回答 1查看 575关注 0票数 0

我试着测试一条线是否在距离某个点很远的地方相遇。St_distance只是给了我我想要的。然而,我对st_intersects +st_buffer很好奇:

代码语言:javascript
复制
$ mysql --version
mysql  Ver 14.14 Distrib 5.6.24, for Linux (x86_64) using  EditLine wrapper


mysql> set @l4=st_geomfromtext('LINESTRING(50 50, 52 45)');
mysql> set @g4=st_geomfromtext('POINT(50 49)');
mysql> select st_distance(@l4, @g4);
--------------
select st_distance(@l4, @g4)
--------------

+-----------------------+
| st_distance(@l4, @g4) |
+-----------------------+
|    0.3713906763541037 |
+-----------------------+
1 row in set (0.00 sec)

我认为这一点离这条线很近,但显然MySQL不同意:

代码语言:javascript
复制
mysql> select st_intersects(st_buffer(@g4, 1), @l4);                                                                                                              
--------------
select st_intersects(st_buffer(@g4, 1), @l4)
--------------

+---------------------------------------+
| st_intersects(st_buffer(@g4, 1), @l4) |
+---------------------------------------+
|                                     0 |
+---------------------------------------+
1 row in set (0.00 sec)

为什么?我错过了什么吗?

我已经在H2GIS中尝试过上面的命令,它说它确实是真的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-13 13:45:47

在这种情况下,ST_Intersects应该返回true。

这似乎是在这里报告的bug:https://bugs.mysql.com/bug.php?id=71076,并在MySQL 5.7.6中修复,根据这里的发布说明:http://forums.mysql.com/read.php?3,629183,629183

“这项工作还纠正了.以及ST_Intersects()有时不正确地计算LineString和多边形交点的结果的问题。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32043017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档