Condividi tramite


ST_ISVALIDDETAILED (query NoSQL)

SI APPLICA A: NoSQL

Restituisce un valore JSON contenente un valore booleano se l'espressione GeoJSON Point, Polygon o LineString specificata è valida e, se non è valida, il motivo.

Sintassi

ST_ISVALIDDETAILED(<spatial_expr>)  

Argomenti

Descrizione
spatial_expr Qualsiasi espressione GeoJSON Point, Polygon o LineString valida.

Tipi restituiti

Restituisce un oggetto JSON contenente un valore booleano che indica se l'espressione di punti GeoJSON o poligono specificata è valida. Se non è valido, l'oggetto contiene anche il motivo come valore stringa.

Esempi

Nell'esempio seguente viene illustrato come verificare la validità di più oggetti.

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

Osservazioni:

  • La specifica GeoJSON richiede che i punti all'interno di un poligono siano specificati in ordine antiorario. Un poligono specificato in senso orario rappresenta l'inverso dell'area al suo interno.