ST_ISVALIDDETAILED (consulta NoSQL)

SE APLICA A: NoSQL

Devuelve un valor JSON que contiene un valor booleano si la expresión de GeoJSON Point, Polygon o LineString especificada es válida y, si no es válida, el motivo.

Sintaxis

ST_ISVALIDDETAILED(<spatial_expr>)  

Argumentos

Descripción
spatial_expr Cualquier expresión de GeoJSON Point, Polygon o LineString válida.

Tipos de valores devueltos

Devuelve un objeto JSON que contiene un valor booleano que indica si la expresión Point o Polygon de GeoJSON especificada es válida. Si no es válido, el objeto también contiene el motivo como un valor de cadena.

Ejemplos

En el ejemplo siguiente se muestra cómo comprobar la validez de varios 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."
    }
  }
]

Comentarios

  • La especificación GeoJSON requiere que los puntos dentro de un polígono se especifiquen en sentido contrario a las agujas del reloj. Un elemento Polygon cuyos puntos se hayan especificado en el sentido de las agujas del reloj representa el inverso de la región dentro de él.