oracle spatial sdo_on函数不返回任何行

时间:2013-03-06 05:20:12

标签: oracle geometry spatial

这是我的示例表:

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

似乎LINE的边界与RECTANGLE的边界交互,对于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,但没有返回任何行。

感谢任何帮助。感谢:)

1 个答案:

答案 0 :(得分:0)

我自己终于找到了!!

问题在于SRID,(我的索引和表格SRID是8307) 我已经改变了支持wkt的SRID作为PROJECTED cordinates。 例如。 32774,90112, 我使用32774并查询上面相同的内容,现在我得到了预期的结果:

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

但我仍然不明白为什么它不适用于srid 8307。