Как бороться с неподдерживаемыми типами фиона в python без использования arcpy? - PullRequest
0 голосов
/ 05 февраля 2019

Я работаю над проектом с данными ГИС из ArcGIS в файле .gdb.Я хотел использовать fiona / геопанду для этого и использовать данные с некоторыми библиотеками машинного обучения.Некоторые слои содержат неподдерживаемые типы, упомянутые здесь https://github.com/Toblerity/Fiona/blob/master/fiona/_geometry.pyx.

Более конкретно, я получил UnsupportedGeometryTypeError: 11 после открытия слоя и его индексации.Некоторые индексы имеют допустимые типы, другие нет.

Пример:

with fiona.open('path.gdb', layer='layername') as layer:
  print(layer[4]) # works
  print(layer[5]) # don't work, UnsupportedGeometryTypeError: 11

В настоящее время я работаю на Mac, но могу переключиться на дистрибутив Linux, если это решит проблему.,Я предпочитаю использовать бесплатные библиотеки и избегать arcpy, поскольку мне нужна лицензия и, например, ArcGIS Server.

Есть идеи, как мне работать с этими форматами?Может быть, дополнительные драйверы или другая библиотека?Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Вы можете попробовать GDAL / OGR библиотеку Python.Есть хорошие шансы, что он поддерживает все типы геометрии, которые есть в вашем fgdb.

Если это не так, лучшим вариантом будет преобразование вашей FileGeodatabase (fgdb), который является проприетарным форматом (Esri), воткрытый формат, такой как PostGreSQL / PostGIS .

Для преобразования можно использовать инструмент командной строки ogr2ogr .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...