Sdílet prostřednictvím


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ý, důvod.

Syntaxe

ST_ISVALIDDETAILED(<spatial_expr>)  

Argumenty

Popis
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ý bod GeoJSON nebo mnohoúhelník platný. Pokud je 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 polygonu byly zadány v proti směru hodinových ručiček. Mnohoúhelník zadaný v pořadí hodinových ručiček představuje inverzní funkci oblasti v ní.