共用方式為


ST_WITHIN - Cosmos DB 中的查詢語言 (在 Azure 和 Fabric 中)

函式會 ST_WITHIN 傳回布林運算式,指出第一個引數中指定的 GeoJSON 物件是否在第二個引數中的 GeoJSON 物件內。

函式 ST_WITHIN 會傳回布林值,指出一個 GeoJSON 物件是否位於適用於 NoSQL 的 Azure Cosmos DB 中的另一個物件內。

語法

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 任何有效的 GeoJSON 點、多邊形、多邊形或 LineString 運算式。
spatial_expr_2 任何有效的 GeoJSON 點、多邊形、多邊形或 LineString 運算式。

傳回類型

傳回布林值。

範例

本節包含如何使用此查詢語言建構的範例。

檢查點是否在多邊形內

在此範例中,函 ST_WITHIN 式可用來判斷 GeoJSON 點是否位於多邊形內。

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

備註

  • 此函式受益於地理空間索引,但具有彙總的查詢除外。
  • GeoJSON 規格要求以逆時針順序指定多邊形內的點。 以順時針順序指定的多邊形代表其中區域的倒數。