ST_WITHIN - Bahasa kueri di Cosmos DB (di Azure dan Fabric)

Fungsi ST_WITHIN mengembalikan ekspresi boolean yang menunjukkan apakah objek GeoJSON yang ditentukan dalam argumen pertama berada dalam objek GeoJSON dalam argumen kedua.

Fungsi mengembalikan ST_WITHIN boolean yang menunjukkan apakah satu objek GeoJSON berada dalam objek lain di Azure Cosmos DB.

Syntax

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Setiap ekspresi GeoJSON Point, Polygon, MultiPolygon, atau LineString yang valid.
spatial_expr_2 Setiap ekspresi GeoJSON Point, Polygon, MultiPolygon, atau LineString yang valid.

Tipe pengembalian

Mengembalikan nilai boolean.

Examples

Bagian ini berisi contoh cara menggunakan konstruksi bahasa kueri ini.

Periksa apakah titik berada dalam poligon

Dalam contoh ini, ST_WITHIN fungsi digunakan untuk menentukan apakah GeoJSON Point berada dalam Poligon.

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

Komentar

  • Fungsi ini mendapat manfaat dari indeks geospasial kecuali dalam kueri dengan agregat.
  • Spesifikasi GeoJSON mengharuskan titik dalam Poligon ditentukan dalam urutan berlawanan arah jajaran. Poligon yang ditentukan dalam urutan searah jarang mewakili inversi wilayah di dalamnya.