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 Point, Polygon 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

W poniższym przykładzie przedstawiono 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 określenia punktów w obrębie wielokąta w kolejności licznika zegara. Wielokąt określony w kolejności zgodnie z ruchem wskazówek zegara reprezentuje odwrotność regionu w nim.