SDO_RELATE和SDO_GEOM.RELATE


SDO_RELATE需要事先建立索引,而SDO_GEOM.RELATE不用。

SDO_RELATE返回True或False,

SDO_GEOM.RELATE除可返回True或False外,還可返回關系(當mask設為'determine'時)。

    select z.id1,z.id2,
    SDO_RELATE (s1.geom, s2.geom,'mask=TOUCH+OVERLAPBDYDISJOINT+OVERLAPBDYINTERSECT') sdo_relate,
            SDO_GEOM.RELATE(s1.geom,'determine',s2.geom,0.5) relation,
            to_char(regexp_replace(sdo_util.to_gmlgeometry(z.intsxn_geom),'</?[^>]*>|nbsp;|&','')) zc,
            to_char(regexp_replace(sdo_util.to_gmlgeometry(s1.geom),'</?[^>]*>|nbsp;|&','')) sc1,
            to_char(regexp_replace(sdo_util.to_gmlgeometry(s2.geom),'</?[^>]*>|nbsp;|&','')) sc2
            from SALES_INTERSECTION_ZONES z, sales_regions s1,sales_regions s2
            where z.id1=s1.id
            and z.id2=s2.id

-- Listing 9-15. RELATE Function Complementing the SDO_RELATE Operator
SELECT sra.id,
SDO_GEOM.RELATE(sra.geom, 'DETERMINE', srb.geom, 0.5) relationship
FROM sales_regions srb, sales_regions sra
WHERE srb.id=51
AND sra.id<>51
AND SDO_RELATE (
  sra.geom, srb.geom,
 'mask=TOUCH+OVERLAPBDYDISJOINT+OVERLAPBDYINTERSECT'
) = 'TRUE'
ORDER BY sra.id;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM