Проблемы с созданием мест в iNaturalist

Разбор и решение ошибки создания места.

  ·   1 min read

Введение #

При создании т.н. «новых мест» в iNaturalist можно столкнуться с такой проблемой:

Возникли проблемы при импорте геометрии этого места: Failed to import a boundary. Check for slivers, overlapping polygons, and other geometry issues., Place geometry не может быть пустым.

69401_original.png

Помимо указанного в сообщении и очевидно проверяемого, так же есть и неочевидное, сваленное в категорию «other geometry issues», кое что удалось выяснить методом обратного инжиниринга.

С подобной ошибкой не загрузится KML если геометрия не замкнута.

Если координаты имеют такой вид:

76.5348144220482,43.7676107824054,0

77.4364025120084,43.0002433192394,0

76.3106787223843,42.9880749551258,0

76.5252717635082,43.7534451736168,0

То место не создастся с ошибкой выше.

А если такой:

76.5348144220482,43.7676107824054,0

77.4364025120084,43.0002433192394,0

76.3106787223843,42.9880749551258,0

76.5252717635082,43.7534451736168,0

76.5348144220482,43.7676107824054,0

то создастся. Обратите внимание, что первый узел равен последнему.

69177_original.png)

Что делать? #

В текстовом редакторе скопируйте первый узел, добавьте его в конец. Это замкнет полигон. Открыть и отредактировать KML можно в любом текстовом редакторе.

Обращаем внимание, что спецификацией KML подобных ограничений не предусмотрено и оба случая нормально читаются OGR-ом.

Итого #

  • Если вы столкнулись с подобным сообщением — проверьте координаты, если геометрия не замкнута — замкните.
  • Из поведения выше можно сделать вывод, что разработчики iNat “налабали” читалку KML на коленке. Если бы использовали что-нибудь стандартное типа GDAL/OGR то с такими ограничениями их пользователи бы не столкнулись.

Мы их за это ругать не будем, сами местами такие, просто тренировка дедуктивного метода.

Комментарии #

Обсудить