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 - :)

4

2 回答 2

1

只需使用INTERSECTS(line1,line2)

SET @ls = 'LineString(1 0,1 2)';
SET @xx = 'LineString(0 1, 2 1)';
select INTERSECTS(GeomFromText(@ls), GeomFromText(@xx));
于 2011-01-05T17:09:20.140 回答
0

好的,最后我刚刚实现了这个:http ://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/

于 2011-01-07T14:40:36.847 回答