ST_WITHIN (запрос NoSQL)
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Возвращает логическое выражение, указывающее, находится ли объект GeoJSON (выражение GeoJSON Point, Polygon или LineString ), указанное в первом аргументе, в объекте GeoJSON во втором аргументе.
Синтаксис
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
Аргументы
Description | |
---|---|
spatial_expr_1 |
Любое допустимое выражение GeoJSON Point, Polygon, MultiPolygon или LineString. |
spatial_expr_2 |
Любое допустимое выражение GeoJSON Point, Polygon, MultiPolygon или LineString. |
Типы возвращаемых данных
Возвращает логическое значение.
Примеры
В следующем примере показано, как найти, находится ли точка в многоугольнике.
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 требуется, чтобы точки в многоугольнике были указаны в порядке против часовой стрелки. Если точки указаны в порядке по часовой стрелке, то многоугольник представляет регион, расположенный снаружи от него.