ST_ISVALIDDETAILED (zapytanie NoSQL)
DOTYCZY: NoSQL
Zwraca wartość JSON zawierającą wartość logiczną, jeśli określone wyrażenie GeoJSON Point, Polygon lub LineString jest prawidłowe, a jeśli jest nieprawidłowe, przyczyna.
Składnia
ST_ISVALIDDETAILED(<spatial_expr>)
Argumenty
opis | |
---|---|
spatial_expr |
Dowolne prawidłowe wyrażenie GeoJSON, Wielokąt lub LineString. |
Typy zwracane
Zwraca obiekt JSON zawierający wartość logiczną wskazującą, czy określony punkt GeoJSON lub wyrażenie wielokątne jest prawidłowe. Jeśli jest on nieprawidłowy, obiekt dodatkowo zawiera przyczynę jako wartość ciągu.
Przykłady
Poniższy przykładowy sposób sprawdzania poprawności wielu obiektów.
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."
}
}
]
Uwagi
- Specyfikacja GeoJSON wymaga, aby punkty w obrębie wielokąta zostały określone w kolejności odwrotnej do ruchu wskazówek zegara. Wielokąt określony w kolejności wskazówek zegara reprezentuje odwrotność regionu w nim.