适用范围: 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 规范要求多边形内的点按逆时针顺序指定。 以顺时针顺序指定的多边形表示其中的区域倒转。