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.

Donnerstag, 14. Oktober 2010

SQL Developer 3.0 ist draußen: Mit Spatial-Unterstützung!

Seit dem 13. Oktober ist das Early Adopter-Release des SQL Developer 3.0 draußen. Das besondere daran ist, dass nun eine Unterstützung für Spatial drin ist: out-of-the-box und ohne GeoRaptor. Hier ein Screenshot. Ihr sehr, dass es nun eine Map-Ansicht von Geodaten gibt und dass zu einer Tabelle (über den Eintrag Räumlich im Kontextmenü) Spatial-Bezogene Operationen angeboten werden.
Der SQL Developer wird mit Sicherheit nicht mit einem Spatial Commander oder einem ähnlichen GIS-Werkzeug konkurrieren können, aber die Basisoperationen (sprich: was ein SQL bzw. PLSQL-Entwickler braucht) sind nun out-of-the-box drin. Und das ist gut!