ST_ISVALIDDETAILED (NoSQL-Abfrage)
GILT FÜR: NoSQL
Gibt einen JSON-Wert mit einem booleschen Wert zurück, wenn der angegebene GeoJSON-Ausdruck vom Typ Point, Polygon oder LineString gültig ist. Wenn der Ausdruck ungültig ist, wird der Grund zurückgegeben.
Syntax
ST_ISVALIDDETAILED(<spatial_expr>)
Argumente
BESCHREIBUNG | |
---|---|
spatial_expr |
Ist ein beliebiger gültiger GeoJSON-Ausdruck vom TypPoint, Polygon oder LineString. |
Rückgabetypen
Gibt ein JSON-Objekt mit einem booleschen Wert zurück, der angibt, ob der angegebene GeoJSON-Ausdruck vom Typ Point oder Polygon gültig ist. Wenn er ungültig ist, enthält das Objekt zusätzlich den Grund als Zeichenfolgenwert.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie die Gültigkeit mehrerer Objekte überprüfen können.
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."
}
}
]
Bemerkungen
- Die GeoJSON-Spezifikation erfordert, dass die Punkte innerhalb eines Polygons gegen den Uhrzeigersinn angegeben werden. Ein Polygon, das im Uhrzeigersinn angegeben wird, stellt die Umkehrung der darin enthaltenen Region dar.