ST_WITHIN (NoSQL-Abfrage)
GILT FÜR: NoSQL
Gibt einen booleschen Ausdruck zurück, der angibt, ob das im ersten Argument angegebene GeoJSON-Objekt (GeoJSON Point-, Polygon- oder LineString-Ausdruck im GeoJSON-Objekt des zweiten Arguments enthalten ist.
Syntax
ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)
Argumente
BESCHREIBUNG | |
---|---|
spatial_expr_1 |
Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck. |
spatial_expr_2 |
Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck. |
Rückgabetypen
Gibt einen booleschen Wert zurück.
Beispiele
Das folgende Beispiel zeigt, wie Sie herausfinden, ob sich ein Punkt innerhalb eines Polygons befindet.
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
}
]
Bemerkungen
- Diese Funktion profitiert von einem räumlichen Index (außer bei Abfragen mit Aggregaten).
- Die GeoJSON-Spezifikation erfordert, dass die Punkte innerhalb eines Polygons gegen den Uhrzeigersinn angegeben werden. Ein Polygon, das im Uhrzeigersinn angegeben wird, stellt die Umkehrung der darin enthaltenen Region dar.