ST_WITHIN (NoSQL-fråga)

GÄLLER FÖR: NoSQL

Returnerar ett booleskt uttryck som anger om GeoJSON-objektet (GeoJSON Point, Polygon eller LineString-uttrycket ) som anges i det första argumentet ligger inom GeoJSON-objektet i det andra argumentet.

Syntax

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)  

Argument

Description
spatial_expr_1 Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon - eller LineString-uttryck .
spatial_expr_2 Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon - eller LineString-uttryck .

Returtyper

Returnerar ett booleskt värde.

Exempel

I följande exempel visas hur du hittar om en punkt finns i en polygon.

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
  }
]

Kommentarer

  • Den här funktionen drar nytta av ett geospatialt index förutom i frågor med aggregeringar.
  • GeoJSON-specifikationen kräver att punkter i en Polygon anges i moturs ordning. En polygon som anges i medurs ordning representerar inversen av regionen inom den.