ST_INTERSECTS - Cosmos DB 中的查询语言(在 Azure 和 Fabric 中)

ST_INTERSECTS 函数返回一个布尔值,该值指示在第一个参数中指定的 GeoJSON 对象是否与第二个参数中的 GeoJSON 对象相交。

ST_INTERSECTS 函数返回一个布尔值,该值指示 Azure Cosmos DB for NoSQL 中的两个 GeoJSON 对象是否相交。

Syntax

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 任何有效的 GeoJSON 点、多边形、多多边形或 LineString 表达式。
spatial_expr_2 任何有效的 GeoJSON 点、多边形、多多边形或 LineString 表达式。

返回类型

返回布尔值。

例子

本部分包含有关如何使用此查询语言构造的示例。

检查两个多边形是否相交

在此示例中,该 ST_INTERSECTS 函数用于确定两个 GeoJSON 多边形是否相交。

SELECT VALUE {
  highWayAndCampusIntersect: ST_INTERSECTS({
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.13693695285855,
            47.64996065621003
          ],
          [
            -122.1351662656516,
            47.64627863318731
          ],
          [
            -122.13488295569863,
            47.646326350048696
          ],
          [
            -122.1366182291613,
            47.650016321952904
          ],
          [
            -122.13693695285855,
            47.64996065621003
          ]
      ] ]
  }, {  
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.14034847687708,
            47.6494835188378
          ],
          [
            -122.14014779899375,
            47.64625477474044
          ],
          [
            -122.13256925774829,
            47.646207057813655
          ],
          [
            -122.13254564858545,
            47.64941990019193
          ],
          [
            -122.14034847687708,
            47.6494835188378
          ]
      ] ]
  })
}
[
  {
    "highWayAndCampusIntersect": true
  }
]

注解

  • 此函数受益于地理空间索引,但包含聚合的查询除外。
  • GeoJSON 规范要求按逆时针顺序指定多边形中的点。 按顺时针顺序指定的多边形表示该区域内的反函数。