ST_INTERSECTS (NoSQL 查询)

适用范围: NoSQL

返回一个布尔表达式,表示第一个参数中指定的 GeoJSON 对象 (PointPolygonMultiPolygonLineString) 是否与第二个参数中的 GeoJSON 对象相交。

语法

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)  

参数

说明
spatial_expr_1 任何有效的 GeoJSON PointPolygonMultiPolygonLineString 表达式。
spatial_expr_2 任何有效的 GeoJSON PointPolygonMultiPolygonLineString 表达式。

返回类型

返回一个布尔值。

示例

以下示例演示如何查找两个多边形是否相交。

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 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。