2013-03-06 44 views
1

這裏是我的示例表:Oracle Spatial的sdo_on函數不返回行

SELECT p.id, p.loc, t.x, t.y,t.id vertex_num 
FROM my_test p, TABLE(sdo_util.getvertices(p.geom))t 
where p.id in (23, 24); 

    id loc  x y vetex_num 
-------------------------------- 
    23 RECTANGLE 1 10 1 
    23 RECTANGLE 15 20 2 
    24 LINE  1 10 1 
    24 LINE  15 10 2 

看來該行的邊界與應SDO_ON函數返回TRUE矩形的邊界進行交互,

SELECT A.loc , b.loc 
FROM my_test A, my_test b 
WHERE SDO_ON(A.geom, B.geom) = 'TRUE'; 

但它沒有結果,認爲它顯示ANYINTERACT的結果。我用'mask = on'參數嘗試了SDO_RELATE,但沒有返回行。

任何幫助表示讚賞。謝謝:)

回答

0

我自己終於找到了!!

問題是與SRID,(我的索引和表格SRID是8307) 我已經更改SRID,因爲它支持作爲PROJECTED cordinates的wkt。 例如。 32774,90112, 我用32774和查詢與上述相同,現在我得到了類似結果預計:

LOC LOC_1 
---------- 
LINE RECT 

但我還是不明白爲什麼它不會與SRID 8307.

工作