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