ST_ISVALIDDETAILED (Azure Cosmos DB)
适用于:SQL API
如果指定的 GeoJSON 点、多边形或 LineString 表达式有效,则返回包含布尔值的 JSON 值;如果无效,则额外加上作为字符串值的原因。
语法
ST_ISVALIDDETAILED(<spatial_expr>)
参数
spatial_expr
是 GeoJSON 点或多边形表达式。
返回类型
如果指定的 GeoJSON 点或多边形表达式有效,则返回包含布尔值的 JSON 值;如果无效,则额外添加原因作为字符串值。
示例
以下示例演示了如何使用 ST_ISVALIDDETAILED
检查有效性(带详细信息)。
SELECT ST_ISVALIDDETAILED({
"type": "Polygon",
"coordinates": [[ [ 31.8, -5 ], [ 31.8, -4.7 ], [ 32, -4.7 ], [ 32, -5 ] ]]
}) AS b
下面是结果集。
[{
"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."
}
}]
注意
GeoJSON 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。