ОБНОВЛЕНИЕ 2020-03-04
Использование MySql Сервер 8.0.19 Я могу успешно проверить этот Geo JSON используя SELECT ST_IsValid(ST_GeomFromGeoJSON(geojson)) FROM test;
Тип данных для столбца geo json равен json
.
ОРИГИНАЛЬНЫЙ ВОПРОС
Я новичок в геопространственной игре, и она кажется очень нетривиальной! Заголовки предполагают, что Cosmos db поддерживает Geo JSON из коробки, за исключением того, что ST_WITHIN () не поддерживает дыры. Не проблема.
Итак, я загрузил все доступные "полигоны" из https://environment.data.gov.uk/flood-monitoring/doc/reference в Cosmos db
Я обнаружил, что 2417 из 3851 Космос сообщает, что они недействительны, но когда я беру несколько из якобы недействительных, они отлично отрисовываются на http://geojson.io Также я отмечаю, что каждый MulitPolygon также не проходит проверку, и снова не возникает проблем с рендерингом. Их насчитывается 1 947.
Источник приведенного ниже примера: https://environment.data.gov.uk/flood-monitoring/id/floodAreas/055WAF137PB/polygon
SELECT ST_ISVALIDDETAILED(c.features[0].geometry) FROM c WHERE c.id = "055WAF137PB"
[
{
"$1": {
"valid": false,
"reason": "Not valid because an invalid polygon or multi-polygon is detected."
}
}
]
Для полноты приведем пример пройти проверку в Космосе https://environment.data.gov.uk/flood-monitoring/id/floodAreas/011WAFGB/polygon
и мультиполигоне (который не работает) https://environment.data.gov.uk/flood-monitoring/id/floodAreas/053FWFPUWI06/polygon
Большое спасибо в ожидании ваших мнений экспертов и предложения.