Partilhar via


ST_ISVALIDDETAILED (consulta NoSQL)

APLICA-SE A: NoSQL

Retorna um valor JSON contendo um valor booleano se a expressão GeoJSON Point, Polygon ou LineString especificada for válida e, se inválida, o motivo.

Sintaxe

ST_ISVALIDDETAILED(<spatial_expr>)  

Argumentos

Description
spatial_expr Qualquer expressão válida GeoJSON Point, Polygon ou LineString .

Tipos de devolução

Retorna um objeto JSON contendo um valor booleano que indica se o ponto GeoJSON especificado ou a expressão de polígono é válida. Se inválido, o objeto contém adicionalmente o motivo como um valor de cadeia de caracteres.

Exemplos

O exemplo a seguir 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."
    }
  }
]

Observações

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