ST_ISVALIDDETAILED (NoSQL 查询)
适用范围: NoSQL
返回一个包含布尔值的 JSON 值,指示指定的 GeoJSON 点、多边形或 LineString 表达式是否有效,以及如果无效的话,原因是什么。
语法
ST_ISVALIDDETAILED(<spatial_expr>)
参数
说明 | |
---|---|
spatial_expr |
任何有效的 GeoJSON 点、多边形或 LineString 表达式。 |
返回类型
返回一个 JSON 对象,其中包含一个布尔值,该值指示指定的 GeoJSON 点或多边形表达式是否有效。 如果无效,则相应对象还包含以字符串值显示的原因。
示例
以下示例说明了如何检查多个对象的有效性。
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."
}
}
]
注解
- GeoJSON 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。