你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ST_WITHIN(NoSQL 查询)

适用范围: NoSQL

返回布尔表达式,指示第一个参数中指定的 GeoJSON 对象(GeoJSON PointPolygonLineString 表达式)是否在第二个参数中的 GeoJSON 对象内。

语法

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)  

参数

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

返回类型

返回一个布尔值。

示例

以下示例显示了如何查找 Point 是否在 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 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。