2011-01-05 62 views
0

MySQL的開放地理信息系統交叉盤似乎並沒有爲我工作:MySQL的大圓路口(做兩路交叉?)

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的開放GIS十字greatcircle緯度經度 - :)

回答

1

只需使用相交(一號線,2號線)

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

我不敢相信我錯過了這個功能:(呃!我想留下我的問題,因爲我想看看是否有任何人可以在球體上使用INTERSECTS。 – 2011-01-06 10:15:54

+0

SET @aa ='LineString(0 3,5 10)'; SET @bb ='LineString(0 0,10 10)'; 選擇INTERSECTS(GeomFromText(@aa),GeomFromText(@bb))AS i; 返回1 - 這些行不相交?還是我很厚? – 2011-01-06 12:28:48

+0

行,INTERSECTS有缺陷:http://stackoverflow.com/questions/4610762/mysql-geometry-intersection-produces-non-intersecting-results – 2011-01-06 12:41:14