Within-Operator
Within ist ein boolescher Operator, der überprüft, ob ein Objekt wie beispielsweise ein Polygon eine andere Geometrie vollständig enthält.
Beispiel 1:
SELECT city FROM table WHERE obj Within <geometry>
Wenn der Datenquellenanbieter „Within“ unterstützt, wird die gesamte Abfrage an den Datenquellenanbieter delegiert.
Wenn der Datenquellenanbieter „Within“ nicht unterstützt, wird die Abfrage in EnvelopesIntersect umgewandelt und wie folgt delegiert:
SELECT city, obj FROM table WHERE obj EnvelopesIntersect <geometry>
Spectrum Spatial wertet „Within“ mithilfe der Ergebnisse des Datenquellenanbieters aus:
SELECT city FROM <results of the delegation> WHERE obj Within <geometry>
Beispiel 2:
SELECT city FROM table WHERE <geometry> Within obj
Dieses Beispiel ist das Gegenteil zum ersten Beispiel. Es handelt sich um das Gegenstück zum Contains-Operator mit vertauschten Operanden. Im derzeitigen Format entspricht diese Abfrage nicht den Regeln der WHERE-Klausel, bei der boolesche Operatoren die Form WHERE <column> operator
<geometry>
aufweisen müssen. Die Abfrage wird in einen „Contains“-Vorgang umformatiert und entsprechend den Regeln für „Contains“ delegiert.
SELECT city FROM table WHERE obj Contains <geometry>