У меня очень мало опыта работы с модулем fiona (начат сегодня!). У меня есть геопакет с именем building.gpkg, в котором есть поле с именем 'id', которое на момент производства имеет значение NULL.
Я пытаюсь написать сценарий python с использованием модуля fiona для заполнения его идентификатора в соответствии с идентификаторами, доступными в другой таблице, хранящейся на SQL сервере.
Хотя я успешно импортировал и прочитал bldg.gpkg через fiona, я борюсь чтобы записать данные в столбец id:
Вот пример кода:
import fiona
bldg_gpkg = 'building.gpkg'
with fiona.open(bldg_gpkg, 'w') as c:
for i in range(max_id, len(list(c))+max_id):
c.next()['properties']['id'] = i
Это ошибка, которую я получаю:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python3\lib\site-packages\fiona\env.py", line 407, in wrapper
return f(*args, **kwargs)
File "C:\Program Files\Python3\lib\site-packages\fiona\__init__.py", line 265, in open
c = Collection(path, mode, crs=crs, driver=driver, schema=this_schema,
File "C:\Program Files\Python3\lib\site-packages\fiona\collection.py", line 126, in __init__
raise DriverError("no driver")
fiona.errors.DriverError: no driver
Я посмотрел collection.py и drvsupport.py в модуле fiona и GPKG Drived установлен и поддерживается. Что-то мне не хватает? или метод записи неправильный?
Я работаю Python 3.8.1 на Windows 10.
Спасибо