Partage via


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.