ST_INTERSECTS (consulta NoSQL)
SE APLICA A: NoSQL
Devuelve una expresión booleana que indica si el objeto GeoJSON (Point, Polygon, MultiPolygon , o LineString) especificado en el primer argumento se cruza con el objeto GeoJSON del segundo argumento.
Sintaxis
ST_INTERSECTS(<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 dos polígonos se intersecan.
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
}
]
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_WITHIN