MySQL 大圆路口(两条路交叉吗?)

发布于 2024-10-10 07:36:28 字数 407 浏览 4 评论 0原文

MySQL OpenGIS CROSSES 似乎对我不起作用:

SET @ls = 'LineString(1 1, 2 2, 3 3)';
SET @xx = 'LineString(0 2, 10 2)';

# SELECT AsText(EndPoint(GeomFromText(@ls)));
select crosses(GeomFromText(@ls), GeomFromText(@xx))

返回 0 - 预期 1

我如何将其重写为 MySQL 函数?

使用纬度、经度和球面投影(也许还有大圆)的奖励积分。

PS 我无法创建标签,并且我丢失了我的旧登录名:有用的标签是:MySQL OpenGIS CROSSES Greatcircle lat lon - :)

MySQL OpenGIS CROSSES doesn't seem to work for me:

SET @ls = 'LineString(1 1, 2 2, 3 3)';
SET @xx = 'LineString(0 2, 10 2)';

# SELECT AsText(EndPoint(GeomFromText(@ls)));
select crosses(GeomFromText(@ls), GeomFromText(@xx))

returns 0 - expected 1

How would I rewrite this as a MySQL function?

Bonus points for using lat, lon and spherical projection (and maybe the Great Circle.)

PS I can't create tags and I have lost my old login: Useful tags would be: MySQL OpenGIS CROSSES greatcircle lat lon - :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幻梦 2024-10-17 07:36:28

只需使用INTERSECTS(line1,line2)

SET @ls = 'LineString(1 0,1 2)';
SET @xx = 'LineString(0 1, 2 1)';
select INTERSECTS(GeomFromText(@ls), GeomFromText(@xx));

Just use INTERSECTS(line1,line2)

SET @ls = 'LineString(1 0,1 2)';
SET @xx = 'LineString(0 1, 2 1)';
select INTERSECTS(GeomFromText(@ls), GeomFromText(@xx));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文