Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Unterstützung für räumliche Daten » Erste Orientierung zu räumlichen Daten » Konformität und Unterstützung » Unterstützte räumliche Prädikate

 

Intuitivität räumlicher Prädikate

Das Ergebnis eines Prädikats ist manchmal nicht intuitiv. Aus diesem Grund sollten spezielle Fälle getestet werden, um sicherzustellen, dass die gewünschten Ergebnisse geliefert werden. Beispiel: Damit eine Geometrie eine andere Geometrie enthält (a.ST_Contains(b)=1) oder eine Geometrie sich innerhalb einer anderen Geometrie befindet (b.ST_Within(a)=1), müssen sich die Innenbereiche von a und b schneiden und kein Teil von b darf den Außenbereich von a schneiden. Es gibt jedoch bestimmte Fälle, in denen eine Geometrie als innerhalb einer anderen Geometrie betrachtet werden könnte, dies aber nicht wird.

Folgende Anweisung gibt z. B. für a.ST_Contains(b) und b.ST_Within(a) 0 (a ist rot) zurück:

Vier Grafiken jeweils mit rotem Quadrat. Die erste zeigt ein blaues Rechteck, das das rote Quadrat teilweise überlappt. Die zweite zeigt blaue Punkte außerhalb des roten Quadrats. Die dritte zeigt einen blauen Punkt auf der Begrenzungslinie des roten Quadrats. Die vierte zeigt eine Linie, die einem Teil der Begrenzung des roten Quadrats folgt.

Fall eins und zwei sind offensichtlich: Die lila Geometrien liegen nicht vollständig innerhalb der roten Quadrate. Fall drei und vier sind allerdings nicht so offensichtlich. In beiden Fällen liegen die lila Geometrien nur auf der Grenze der roten Quadrate. ST_Contains betrachtet die lila Geometrien als nicht innerhalb der roten Quadrate liegend, auch wenn sie es anscheinend tun.

Wenn die Prädikattests nicht das erwartete Ergebnis liefern, sollten Sie die Methode ST_Relate verwenden, um die getestete Beziehung genau festzulegen. Siehe Benutzerdefinierte Beziehungen mit der Methode ST_Relate testen.