Oracle空间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

似乎LINE的边界与矩形的边界相互作用,矩形的边界对于SDO_ON函数应该返回TRUE,

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

但是没有结果,认为它显示了ANYINTERACT的结果。我已经尝试了SDO_RELATE与'mask= on'参数,但没有返回行。

任何帮助都是感激的。谢谢:)

我终于找到了!!

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

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

但是我仍然不明白为什么它不能与srid 8307一起工作

相关内容

  • 没有找到相关文章

最新更新