次の方法で共有


ST_WITHIN - Cosmos DB のクエリ言語 (Azure と Fabric)

ST_WITHIN関数は、最初の引数で指定された GeoJSON オブジェクトが 2 番目の引数の GeoJSON オブジェクト内にあるかどうかを示すブール式を返します。

ST_WITHIN関数は、1 つの GeoJSON オブジェクトが Azure Cosmos DB for NoSQL 内の別の GeoJSON オブジェクト内にあるかどうかを示すブール値を返します。

構文

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

論争

Description
spatial_expr_1 任意の有効な GeoJSON ポイント、Polygon、MultiPolygon、または LineString 式。
spatial_expr_2 任意の有効な GeoJSON ポイント、Polygon、MultiPolygon、または LineString 式。

戻り値の型

ブール値を返します。

例示

このセクションでは、このクエリ言語コンストラクトを使用する方法の例を示します。

ポイントが多角形内にあるかどうかを確認する

この例では、 ST_WITHIN 関数を使用して、GeoJSON ポイントが 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
  }
]

注釈

  • この関数は、集計を含むクエリを除き、地理空間インデックスの利点があります。
  • GeoJSON 仕様では、Polygon 内のポイントを反時計回りの順序で指定する必要があります。 時計回りの順序で指定された多角形は、その中の領域の逆数を表します。