Dela via


ST_ISVALIDDETAILED (NoSQL-fråga)

GÄLLER FÖR: NoSQL

Returnerar ett JSON-värde som innehåller ett booleskt värde om det angivna GeoJSON-, Polygon- eller LineString-uttrycket är giltigt, och om det är ogiltigt, orsaken.

Syntax

ST_ISVALIDDETAILED(<spatial_expr>)  

Argument

beskrivning
spatial_expr Alla giltiga GeoJSON Point-, Polygon- eller LineString-uttryck .

Returtyper

Returnerar ett JSON-objekt som innehåller ett booleskt värde som anger om den angivna GeoJSON-punkten eller polygonuttrycket är giltigt. Om det är ogiltigt innehåller objektet dessutom orsaken som ett strängvärde.

Exempel

I följande exempel kontrollerar du giltigheten för flera 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."
    }
  }
]

Kommentarer

  • GeoJSON-specifikationen kräver att punkter i en Polygon anges i motsols ordning. En Polygon som anges i medsols ordning representerar inversen av regionen inom den.