Завдяки досить мертвому формату, який називається DBF, додавання полів до форм-файлів із наявними даними атрибутів неможливо без перезапису чи додавання прокладки до DBF. Я не знаю готового рішення, але те, що я би зробив, - це написати сценарій, щоб створити новий файл файлів на основі наявного та додати додаткові поля до нового формату. Потім скопіюйте дані геометрії / атрибутів зі старого у новий файл форми. І як завершальний крок, видаліть старий файл форми і перейменуйте новий. Все це досить легко здійснити за допомогою прив'язки пітонів OGR.
Крім того, ви можете використовувати dbfpy, щоб зробити вищезазначене лише за допомогою файлу DBF. Порядок кроків залишається незмінним:
- Створіть новий DBF з однаковою структурою для оригіналу
- Створіть нові поля атрибутів у новому DBF
- Скопіюйте дані з оригінального DBF в новий DBF
- Видаліть старий DBF, перейменуйте новий DBF на старий DBF
Вам не потрібно вносити жодних змін у сам файл форми (.shp) або будь-який інший файл, оскільки вони не посилаються на інформацію атрибутів, що міститься у DBF. Однак вам потрібно зберігати порядок записів точно однаковим у старому та новому DBF.