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>