Delen via


ST_WITHIN - Querytaal in Cosmos DB (in Azure en Fabric)

De ST_WITHIN functie retourneert een Booleaanse expressie die aangeeft of het GeoJSON-object dat is opgegeven in het eerste argument zich binnen het GeoJSON-object in het tweede argument bevindt.

De ST_WITHIN functie retourneert een Booleaanse waarde die aangeeft of één GeoJSON-object zich in een ander GeoJSON-object in Azure Cosmos DB bevindt.

Syntaxis

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Elke geldige GeoJSON-punt-, veelhoek-, multipolygon- of LineString-expressie.
spatial_expr_2 Elke geldige GeoJSON-punt-, veelhoek-, multipolygon- of LineString-expressie.

Retourtypen

Retourneert een Booleaanse waarde.

Voorbeelden

Deze sectie bevat voorbeelden van het gebruik van deze querytaalconstructie.

Controleren of een punt zich binnen een veelhoek bevindt

In dit voorbeeld wordt de ST_WITHIN functie gebruikt om te bepalen of een GeoJSON-punt zich in een veelhoek bevindt.

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

Opmerkingen

  • Deze functie profiteert van een georuimtelijke index, behalve in query's met aggregaties.
  • De GeoJSON-specificatie vereist dat punten binnen een veelhoek worden opgegeven in volgorde met de klok mee. Een veelhoek die in rechtsom is opgegeven, vertegenwoordigt de inverse van de regio in het gebied.