这是我的示例表:
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,但没有返回任何行。
感谢任何帮助。感谢:)
答案 0 :(得分:0)
我自己终于找到了!!
问题在于SRID,(我的索引和表格SRID是8307) 我已经改变了支持wkt的SRID作为PROJECTED cordinates。 例如。 32774,90112, 我使用32774并查询上面相同的内容,现在我得到了预期的结果:
LOC LOC_1
----------
LINE RECT
但我仍然不明白为什么它不适用于srid 8307。