ST_WITHIN (query NoSQL)
SI APPLICA A: NoSQL
Restituisce un'espressione booleana che indica se l'oggetto GeoJSON (punto GeoJSON, Polygon o LineString expression) specificato nel primo argomento si trova all'interno dell'oggetto GeoJSON nel secondo argomento.
Sintassi
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
Argomenti
Descrizione | |
---|---|
spatial_expr_1 |
Qualsiasi espressione GeoJSON Point, Polygon, MultiPolygon o LineString valida. |
spatial_expr_2 |
Qualsiasi espressione GeoJSON Point, Polygon, MultiPolygon o LineString valida. |
Tipi restituiti
Restituisce un valore booleano.
Esempi
Nell'esempio seguente viene illustrato come trovare se un punto si trova all'interno di un poligono.
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
}
]
Osservazioni:
- Questa funzione trae vantaggio da un indice geospaziale, ad eccezione delle query con aggregazioni.
- La specifica GeoJSON richiede che i punti all'interno di un poligono siano specificati in ordine antiorario. Un poligono specificato in senso orario rappresenta l'inverso dell'area al suo interno.