ST_WITHIN (requête NoSQL)
S’APPLIQUE À : NoSQL
Retourne une expression booléenne indiquant si l’objet GeoJSON (expression Point, Polygone ou LineString GeoJSON) spécifié dans le premier argument se trouve dans le GeoJSON faisant l’objet du deuxième argument.
Syntaxe
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
Arguments
Description | |
---|---|
spatial_expr_1 |
Toute expression GeoJSON Point, Polygon, MultiPolygon ou LineString valide. |
spatial_expr_2 |
Toute expression GeoJSON Point, Polygon, MultiPolygon ou LineString valide. |
Types de retour
Retourne une valeur booléenne.
Exemples
L’exemple suivant illustre comment rechercher si un point se trouve dans un Polygone.
SELECT VALUE {
isHeadquartersWithinCampus: ST_WITHIN({
"type": "Point",
"coordinates": [
-122.12824857332558,
47.6395516675712
]
}, {
"type": "Polygon",
"coordinates": [ [
[
-122.13236581015025,
47.64606476313813
],
[
-122.13221982500913,
47.633757091363975
],
[
-122.11840598103835,
47.641749416109235
],
[
-122.12061400629656,
47.64589264786028
],
[
-122.13236581015025,
47.64606476313813
]
] ]
})
}
[
{
"isHeadquartersWithinCampus": true
}
]
Remarques
- Cette fonction bénéficie d’un index géospatial, sauf dans les requêtes avec agrégats.
- La spécification GeoJSON exige que les points d’un polygone soient spécifiés dans le sens inverse des aiguilles d’une montre. Un polygone spécifié dans le sens horaire représente l’inverse de la région qu’il contient.