如何使用 SDO_JOIN 查找一个对象是否在另一个对象内部
How to use SDO_JOIN to find if one object is inside another
我有两个table。一个有一个点 SDO_GEOMETRY,另一个有一个圆 SDO_GEOMETRY 对象。我想使用 SDO_JOIN 检查 table1 中 table2 中的所有对象。有人可以指导如何编写此查询吗?
我的输出应该如下所示:
T1 -- T2
1 -- 2
2 -- 2
2 -- 1
这意味着 1 在 2 里面,2 在 1 和 2 里面
下面展示了如何使用SDO_JOIN
关联县(多边形)和城市(点)
SELECT ci.city, ci.state_abrv, co.county
FROM us_cities ci,
us_counties co,
TABLE(SDO_JOIN(
'US_COUNTIES', 'GEOM',
'US_CITIES', 'LOCATION',
'MASK=INSIDE')
) j
WHERE j.rowid1 = ci.rowid
AND j.rowid2 = co.rowid
ORDER BY ci.city, ci.state_abrv;
我有两个table。一个有一个点 SDO_GEOMETRY,另一个有一个圆 SDO_GEOMETRY 对象。我想使用 SDO_JOIN 检查 table1 中 table2 中的所有对象。有人可以指导如何编写此查询吗?
我的输出应该如下所示:
T1 -- T2
1 -- 2
2 -- 2
2 -- 1
这意味着 1 在 2 里面,2 在 1 和 2 里面
下面展示了如何使用SDO_JOIN
关联县(多边形)和城市(点)SELECT ci.city, ci.state_abrv, co.county
FROM us_cities ci,
us_counties co,
TABLE(SDO_JOIN(
'US_COUNTIES', 'GEOM',
'US_CITIES', 'LOCATION',
'MASK=INSIDE')
) j
WHERE j.rowid1 = ci.rowid
AND j.rowid2 = co.rowid
ORDER BY ci.city, ci.state_abrv;