Freigeben über


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.