ST_WITHIN (consulta NoSQL)

APLICA-SE A: NoSQL

Devolve uma expressão booleana que indica se o objeto GeoJSON ( Expressão GeoJSON Point, Polygon ou LineString ) especificado no primeiro argumento está dentro do objeto GeoJSON no segundo argumento.

Sintaxe

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)  

Argumentos

Description
spatial_expr_1 Qualquer expressão de GeoJSON Point, Polygon, MultiPolygon ou LineString válida.
spatial_expr_2 Qualquer expressão de GeoJSON Point, Polygon, MultiPolygon ou LineString válida.

Tipos de devolução

Devolve um valor booleano.

Exemplos

O exemplo seguinte mostra como localizar se um Ponto está dentro de um Polígono.

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

Observações

  • Esta função beneficia de um índice geoespacial , exceto em consultas com agregados.
  • A especificação GeoJSON requer que os pontos dentro de um Polígono sejam especificados por ordem contra-relógio. Um Polígono especificado na ordem dos ponteiros do relógio representa o inverso da região dentro da mesma.