Compartir a través de


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.