ST_ISVALIDDETAILED (consulta NoSQL)

APLICA-SE A: NoSQL

Retorna um valor JSON contendo um valor booliano se a expressão Ponto, Polígono ou LineStringdo GeoJSON especificada é válida e, se for inválida, o motivo.

Sintaxe

ST_ISVALIDDETAILED(<spatial_expr>)  

Argumentos

Descrição
spatial_expr É qualquer expressão válida de Ponto, Polígonoou LineString do GeoJSON.

Tipos de retorno

Retorna um objeto JSON que contém um valor booliano que indica se a expressão ponto ou polígo no GeoJSON especificada é válida. Se inválido, o objeto também contém o motivo como um valor de cadeia de caracteres.

Exemplos

O exemplo a seguir mostra como verificar a validade de vários objetos.

SELECT VALUE {
    valid: ST_ISVALIDDETAILED({ 
        "type": "Point",
        "coordinates": [-84.38876194345323, 33.75682784306348] 
    }),
    invalid: ST_ISVALIDDETAILED({ 
        "type": "Point",
        "coordinates": [133.75682784306348, -184.38876194345323] 
    })
}
[
  {
    "valid": {
      "valid": true
    },
    "invalid": {
      "valid": false,
      "reason": "Latitude values must be between -90 and 90 degrees."
    }
  }
]

Comentários

  • A especificação GeoJSON requer que os pontos em um polígono sejam especificados no sentido anti-horário. Um Polígono especificado no sentido horário representa o inverso da região dentro dele.