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

Funktionen ST_WITHIN returnerar ett booleskt uttryck som anger om GeoJSON-objektet som anges i det första argumentet finns i GeoJSON-objektet i det andra argumentet.

Funktionen ST_WITHIN returnerar ett booleskt värde som anger om ett GeoJSON-objekt finns inom ett annat i Azure Cosmos DB för NoSQL.

Syntax

ST_WITHIN(<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 en punkt ligger inom en polygon

I det här exemplet ST_WITHIN används funktionen för att avgöra om en GeoJSON-punkt finns i en Polygon.

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

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.