Samstag, 16. Oktober 2010

INSIDE, TOUCH ... oder etwa doch anders

Wie kann ich eigentlich herausfinden, in welcher topologischen Beziehung sich 2 Objekte zueinander definden?

Die Funktion RELATE im Package SDO_GEOM liefert im Ergebnis die Lagebeziehung zwischen 2 Objekten.
select
  c2.feature_name,
  sdo_geom.relate(
    c2.geometry,
    'determine',    -- Maskierungsparameter
    c1.geometry, 
    0.05 ) topo_rel
from 
  m_admin_area1 c1, 
  m_admin_area1 c2
where 
  c1.feature_name = 'GERMANY';
Der Wert DETERMINE für den Maskierungsparameter ermittelt dabei diejenige Lagebeziehung zwischen 2 Objekten, welche der Realität am meisten entspricht.
Im Falle der obigen Abfrage wird anhand des kostenfrei bereitgestellten NAVTEQ Beispieldatensets für Oracle die Lagebeziehung zwischen Deutschland und allen anderen Ländern ermittelt.

Wird übrigens als Wert für den Maskierungsparameter ANYINTERACT angegeben, gibt die Funktion TRUE zurück für alle Lagebeziehungen, die ungleich DISJOINT sind.

Keine Kommentare:

Kommentar veröffentlichen