Udostępnij za pośrednictwem


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.