1

这是我的示例表:

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,但没有返回任何行。

任何帮助表示赞赏。谢谢:)

4

1 回答 1

0

我自己终于找到了!!

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

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

但我仍然不明白为什么它不能与 srid 8307 一起使用。

于 2013-03-06T10:11:50.460 回答