ST_INTERSECTS – Frågespråk i Cosmos DB (i Azure och Fabric)

Funktionen ST_INTERSECTS returnerar ett booleskt värde som anger om GeoJSON-objektet som anges i det första argumentet korsar GeoJSON-objektet i det andra argumentet.

Funktionen ST_INTERSECTS returnerar ett booleskt värde som anger om två GeoJSON-objekt korsar varandra i Azure Cosmos DB för NoSQL.

Syntax

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon- eller LineString-uttryck.
spatial_expr_2 Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon- eller LineString-uttryck.

Returtyper

Returnerar ett booleskt värde.

Examples

Det här avsnittet innehåller exempel på hur du använder den här frågespråkkonstruktionen.

Kontrollera om två polygoner korsar varandra

I det här exemplet ST_INTERSECTS används funktionen för att avgöra om två GeoJSON-polygoner korsar varandra.

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
  }
]

Anmärkningar

  • Den här funktionen drar nytta av ett geospatialt index förutom i frågor med aggregeringar.
  • GeoJSON-specifikationen kräver att punkter i en Polygon anges i motsols ordning. En Polygon som anges i medsols ordning representerar inversen av regionen inom den.