функция arcpy.da.Walk не видит всего содержимого базы gdb

+1 голос
спросил 24 Сен, 21 от Korobkin (890 баллов)
редактировать 24 Сен, 21 от Korobkin
Функция Walk позволяет пройтись по дереву директорий и найти все элементы данных в базе геоданных. Столкнулся с тем, что функция прекрасно работает с MDB и глючит с GDB. Проходя по базе она отображает содержимое корневой директории базы и название наборов классов объектов. А содержимое наборов классов объектов функция не видит, хотя они там есть.

D:\СКРИПТ\Базы\New.gdb
[u'FORESTS']
[u'Layout1', u'Layout10']
D:\СКРИПТ\Базы\New.gdb\FORESTS
[]
[]

Для MDB все работает

D:\СКРИПТ\Базы\New.mdb
[u'FORESTS']
[u'Layout10', u'Layout1']
D:\СКРИПТ\Базы\New.mdb\FORESTS
[]
[u'Vydel', u'Kvartal', u'Vydel_S', u'Vydel_TEMP', u'Vydel_L', u'Lesnich', u'Leshoz', u'Layout1_Vydel']

Дополнено:

Также в наборах классов объектов (feature dataset) файловой базы GDB не работает функция:

arcpy.ListFeatureClasses() - она не видит простые классы объектов
Может быть кто-то сталкивался или понимает как решать проблему?

1 Ответ

0 голосов
ответил 28 Окт, 21 от Grigoriy (126,860 баллов)
Разбирайтесь как питон работает с русскими путями и названиями.

Для начала положите базу геоданных по простому пути написанному латинецей и без пробелов.
оставил комментарий 28 Окт, 21 от Korobkin (890 баллов)
Спасибо, Григорий, за участие! Дело в том, что кириллица здесь совершенно не при чем. Так же работает с полностью латинскими путями. Похоже глюк в самом arcpy. На иностранном форуме ничего конструктивного тоже не нашел https://gis.stackexchange.com/questions/412467/why-does-arcpy-da-walk-work-differently-when-used-with-file-geodatabase-gdb-an
оставил комментарий 28 Окт, 21 от Korobkin (890 баллов)
Все скрипты отлажены на mdb. Так должно работать по справке, но не работает. Обойти не могу в Python никак. Кажется, это очередной баг gdb формата. Пришлось перестроить бизнес-процесс, чтобы обойтись без него.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...