La fonction ST_WITHIN détermine si l'objet géographique value1 est contenu dans l'objet géographique value2. Cette condition est vraie lorsque chaque point de value1 appartient également à value2.
Syntaxe
BOOLEAN ST_WITHIN(GEOGRAPHY <value1>, GEOGRAPHY <value2>)
Paramètres
value1, value2 : Obligatoire. Valeurs du type de données GEOGRAPHY. Construisez des objets GEOGRAPHY à l'aide de fonctions telles que ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE et ST_MAKEPOLYGON.
Valeur renvoyée
Renvoie une valeur BOOLEAN selon les règles suivantes :
TRUEsi tous les points de l'objet géographiquevalue1se trouvent dans l'objet géographiquevalue2; sinon,FALSE.Renvoie
FALSEsivalue1ouvalue2est un objet géographique vide.
Un objet géographique n'inclut pas ses nœuds limites .
Exemples
Vérifiez si les points (5, 5), (20, 20) et (0, 0) se trouvent à l'intérieur du polygone défini par POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)).
-- Returns TRUE. POINT(5 5) is inside the polygon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(5 5)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Returns FALSE. POINT(20 20) is outside the polygon.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(20 20)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
-- Returns FALSE. POINT(0 0) is on the polygon boundary.
SELECT ST_WITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));