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