ST_ISVALIDDETAILED (dotaz NoSQL)

PLATÍ PRO: NoSQL

Vrátí hodnotu JSON obsahující logickou hodnotu, pokud je zadaný výraz GeoJSON Point, Polygon nebo LineString platný, a pokud je neplatný, jeho důvod.

Syntaxe

ST_ISVALIDDETAILED(<spatial_expr>)  

Argumenty

Description
spatial_expr Libovolný platný výraz GeoJSON Point, Polygon nebo LineString .

Návratové typy

Vrátí objekt JSON obsahující logickou hodnotu označující, jestli je zadaný výraz geoJSON bodu nebo mnohoúhelníku platný. Pokud je hodnota neplatná, objekt navíc obsahuje důvod jako řetězcovou hodnotu.

Příklady

Následující příklad, jak zkontrolovat platnost více objektů.

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."
    }
  }
]

Poznámky

  • Specifikace GeoJSON vyžaduje, aby body v rámci mnohoúhelníku byly zadány v pořadí proti směru hodinových ručiček. Mnohoúhelník zadaný ve směru hodinových ručiček představuje inverzní funkci oblasti uvnitř.