ST_WITHIN (consulta NoSQL)
SE APLICA A: NoSQL
Devuelva una expresión booleana que indica si el objeto GeoJSON (expresión GeoJSONPoint, Polygon oLineString) especificado en el primer argumento está dentro del objeto GeoJSON del segundo argumento.
Sintaxis
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
Argumentos
Descripción | |
---|---|
spatial_expr_1 |
Cualquier expresión GeoJSON Point, Polygon, MultiPolygon o LineString válida. |
spatial_expr_2 |
Cualquier expresión GeoJSON Point, Polygon, MultiPolygon o LineString válida. |
Tipos de valores devueltos
Devuelve un valor booleano.
Ejemplos
En el ejemplo siguiente se muestra cómo buscar si un Punto está dentro de un Polígono.
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
}
]
Comentarios
- Esta función se beneficia de un índice geoespacial excepto en las consultas con agregados.
- La especificación GeoJSON requiere que los puntos dentro de un polígono se especifiquen en sentido contrario a las agujas del reloj. Un elemento Polygon cuyos puntos se hayan especificado en el sentido de las agujas del reloj representa el inverso de la región dentro de él.
Contenido relacionado
- System functions (Funciones del sistema)
ST_INTERSECT