【发布时间】:2019-08-19 16:26:43
【问题描述】:
我在两个要素类中有两个几何,一个名为“HY90299”,另一个名为“hyboxsdo”,这两个几何不相交。
但是当我在 orce 中运行空间查询时,
"select sdo_relate(t.shape,g.shape ,'mask=ANYINTERACT') from HY90299 t,hyboxsdo g",
它返回“true”,结果不正确。我做错了吗?我的oracle版本是11g
你可以通过 1.我将这两个几何图形放入两个形状文件中。你可以从这里得到它们 https://pan.baidu.com/s/1YQnwe8nstzgHOAwHgx9JGQ 2.或者通过wkt创建两个几何 ①MULTIPOLYGON(((-16.657423019000021 82.843477248999989,16.710901260000014 66.242341995000004,74.611375808999981 57.038061142000004,111.18630027799998 67.126588820999984,-16.657423019000021 82.843477248999989))) ②MULTIPOLYGON(((60.839999999999975 26.569999999999993,143.45000000000005 26.569999999999993,143.45000000000005 55.75,55.75 60.839999999999975,60.839999999999975 26.569999999999993)))追加
1.select * from user_sdo_geom_metadata where table_name='HY90299' ============================== 返回“HY90299 形状 {{null,-180,180,0.001},{null,-90,90,0.001}} 4326” 2.select sdo_geom.validate_geometry_with_context(c.shape,0.000000005) from hy90299 c 从 hy90299 c 中选择 sdo_geom.validate_geometry_with_context(c.shape,0.001) ============================== 全部返回“真” 3.从hy90299中选择形状 ============================== 返回 “{2003,4326,空,{1,1003,1},{111.186300278,67.126588821,-16.657423019,82.843477249,16.71090126,66.242341995,74.611375809,57.038061142,111.186300278,67.126588821}}” 4.select sdo_geom.relate(t.shape,'determine',sdo_geometry(2003,4326,null, SDO_ELEM_INFO_ARRAY(1,1003,3),SDO_ORDINATE_ARRAY(60.840,26.570,143.450,55.750)),0.0000000029 的spat_rel from吨 ============================== 返回“不相交” 5.select sdo_geom.relate(t.shape,'determine',sdo_geometry(2003,4326,null, SDO_ELEM_INFO_ARRAY(1,1003,1),SDO_ORDINATE_ARRAY(60.840,26.570, 143.450,26.570, 143.450,40,55.750,50,60.8。 60.840, 26.570)),0.000000005) 作为 HY90299 t 的 spat_rel ============================== 返回“OVERLAPBDYINTERSECT”【问题讨论】:
标签: oracle geospatial intersect spatial-query oracle-spatial