ST_ISVALID - Cosmos DB 中的查询语言(在 Azure 和 Fabric 中)

ST_ISVALID 函数返回一个布尔值,该值指示指定的 GeoJSON 点、多边形、MultiPolygon 或 LineString 表达式是否有效。

ST_ISVALID 函数返回一个布尔值,指示 GeoJSON 对象是否在 Azure Cosmos DB for NoSQL 中有效。

Syntax

ST_ISVALID(<spatial_expr>)

Arguments

Description
spatial_expr 任何有效的 GeoJSON 点、多边形、多多边形或 LineString 表达式。

返回类型

返回布尔值。

例子

本部分包含有关如何使用此查询语言构造的示例。

检查 GeoJSON 对象的有效性

在此示例中,该 ST_ISVALID 函数用于检查多个 GeoJSON 对象的有效性。

SELECT VALUE {
  valid: ST_ISVALID({ 
      "type": "Point",
      "coordinates": [-84.38876194345323, 33.75682784306348] 
  }),
  invalid: ST_ISVALID({ 
      "type": "Point",
      "coordinates": [133.75682784306348, -184.38876194345323] 
  })
}
[
  {
    "valid": true,
    "invalid": false
  }
]

注解

  • GeoJSON 规范要求按逆时针顺序指定多边形中的点。 按顺时针顺序指定的多边形表示该区域内的反函数。