Partager via


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

La ST_INTERSECTS fonction retourne une valeur booléenne indiquant si l’objet GeoJSON spécifié dans le premier argument croise l’objet GeoJSON dans le deuxième argument.

La ST_INTERSECTS fonction retourne une valeur booléenne indiquant si deux objets GeoJSON se croisent dans Azure Cosmos DB pour NoSQL.

Syntaxe

ST_INTERSECTS(<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 deux polygones se croisent

Dans cet exemple, la ST_INTERSECTS fonction est utilisée pour déterminer si deux polygones GeoJSON se croisent.

SELECT VALUE {
  highWayAndCampusIntersect: ST_INTERSECTS({
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.13693695285855,
            47.64996065621003
          ],
          [
            -122.1351662656516,
            47.64627863318731
          ],
          [
            -122.13488295569863,
            47.646326350048696
          ],
          [
            -122.1366182291613,
            47.650016321952904
          ],
          [
            -122.13693695285855,
            47.64996065621003
          ]
      ] ]
  }, {  
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.14034847687708,
            47.6494835188378
          ],
          [
            -122.14014779899375,
            47.64625477474044
          ],
          [
            -122.13256925774829,
            47.646207057813655
          ],
          [
            -122.13254564858545,
            47.64941990019193
          ],
          [
            -122.14034847687708,
            47.6494835188378
          ]
      ] ]
  })
}
[
  {
    "highWayAndCampusIntersect": 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.