你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ST_WITHIN(NoSQL 查询)
适用范围: NoSQL
返回布尔表达式,指示第一个参数中指定的 GeoJSON 对象(GeoJSON Point、Polygon 或 LineString 表达式)是否在第二个参数中的 GeoJSON 对象内。
语法
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
参数
说明 | |
---|---|
spatial_expr_1 |
任何有效的 GeoJSON Point、Polygon、MultiPolygon 或 LineString 表达式。 |
spatial_expr_2 |
任何有效的 GeoJSON Point、Polygon、MultiPolygon 或 LineString 表达式。 |
返回类型
返回一个布尔值。
示例
以下示例显示了如何查找 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 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。