MySQL Great Circle交叉路口(两条路交叉?)

时间:2011-01-05 13:18:19

标签: mysql great-circle opengis

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函数?

使用lat,lon和球形投影(可能是大圆圈)的加分点。

PS我无法创建标签而且我丢失了旧的登录信息:有用的标签将是:MySQL OpenGIS CROSSES greatcircle lat lon - :)

2 个答案:

答案 0 :(得分:1)

只需使用 INTERSECTS(第1行,第2行)

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

答案 1 :(得分:0)

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