Partager via


ST_WITHIN - Langage de requête dans Cosmos DB (dans Azure et Fabric)

La ST_WITHIN fonction retourne une expression booléenne indiquant si l’objet GeoJSON spécifié dans le premier argument se trouve dans l’objet GeoJSON dans le deuxième argument.

La ST_WITHIN fonction retourne une valeur booléenne indiquant si un objet GeoJSON se trouve dans un autre dans Azure Cosmos DB pour NoSQL.

Syntaxe

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Descriptif
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.

Examples

Cette section contient des exemples d’utilisation de cette construction de langage de requête.

Vérifier si un point se trouve dans un polygone

Dans cet exemple, la ST_WITHIN fonction est utilisée pour déterminer si un point GeoJSON 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 tire parti d’un index géospatial, sauf dans les requêtes avec des agrégats.
  • La spécification GeoJSON exige que les points d’un polygone soient spécifiés dans l’ordre inverse des aiguilles d’une montre. Un polygone spécifié dans l’ordre des aiguilles d’une montre représente l’inverse de la région qu’elle contient.