Бөлісу құралы:


ST_ISVALIDDETAILED (запрос NoSQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Возвращает значение JSON, содержащее логическое значение, если указанное выражение GeoJSON Point, Polygon или LineString является допустимым, а если недопустимо, причина.

Синтаксис

ST_ISVALIDDETAILED(<spatial_expr>)  

Аргументы

Description
spatial_expr Любое допустимое выражение GeoJSON Point, Polygon или 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 требуется, чтобы точки в многоугольнике были указаны в порядке против часовой стрелки. Если точки указаны в порядке по часовой стрелке, то многоугольник представляет регион, расположенный снаружи от него.