ST_ISVALIDDETAILED (Azure Cosmos DB)
APPLIES TO:
SQL API
Returns a JSON value containing a Boolean value if the specified GeoJSON Point, Polygon, or LineString expression is valid, and if invalid, additionally the reason as a string value.
Syntax
ST_ISVALIDDETAILED(<spatial_expr>)
Arguments
spatial_expr
Is a GeoJSON point or polygon expression.
Return types
Returns a JSON value containing a Boolean value if the specified GeoJSON point or polygon expression is valid, and if invalid, additionally the reason as a string value.
Examples
The following example how to check validity (with details) using ST_ISVALIDDETAILED.
SELECT ST_ISVALIDDETAILED({
"type": "Polygon",
"coordinates": [[ [ 31.8, -5 ], [ 31.8, -4.7 ], [ 32, -4.7 ], [ 32, -5 ] ]]
}) AS b
Here is the result set.
[{
"b": {
"valid": false,
"reason": "The Polygon input is not valid because the start and end points of the ring number 1 are not the same. Each ring of a polygon must have the same start and end points."
}
}]
Note
The GeoJSON specification requires that points within a Polygon be specified in counter-clockwise order. A Polygon specified in clockwise order represents the inverse of the region within it.