ST_WITHIN - Cosmos DB'de sorgu dili (Azure ve Doku'da)

İşlev, ST_WITHIN ilk bağımsız değişkende belirtilen GeoJSON nesnesinin ikinci bağımsız değişkendeki GeoJSON nesnesi içinde olup olmadığını gösteren bir boole ifadesi döndürür.

İşlev, ST_WITHIN Azure Cosmos DB'de bir GeoJSON nesnesinin başka bir nesnenin içinde olup olmadığını belirten bir boole döndürür.

Sözdizimi

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Geçerli herhangi bir GeoJSON Noktası, Çokgen, MultiPolygon veya LineString ifadesi.
spatial_expr_2 Geçerli herhangi bir GeoJSON Noktası, Çokgen, MultiPolygon veya LineString ifadesi.

Dönüş türleri

Boole değeri döndürür.

Örnekler

Bu bölüm, bu sorgu dili yapısının nasıl kullanılacağına örnekler içerir.

Bir noktanın çokgen içinde olup olmadığını denetleme

Bu örnekte işlevi, GeoJSON Noktasının ST_WITHIN çokgen içinde olup olmadığını belirlemek için kullanılır.

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

Açıklamalar

  • Bu işlev, toplamaları olan sorgular dışında jeo-uzamsal dizinden yararlanır.
  • GeoJSON belirtimi, çokgen içindeki noktaların saat yönünün tersine belirtilmesi gerekir. Saat yönünde belirtilen çokgen, içindeki bölgenin tersini temsil eder.