Share via


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.