Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Может ли пиогрио обрабатывать инкрементную запись, как Фиона?


Может ли пиогрио обрабатывать инкрементную запись, как Фиона?


Нет, Pyogrio не поддерживает инкрементную запись или добавление к существующим источникам данных. Он использует подход без сохранения состояния для чтения или записи данных, при котором все данные считываются или записываются за один проход. Это означает, что он не поддерживает добавление новых записей в существующий источник данных или добавление в файл без перезаписи всего файла[1][3].

Напротив, Fiona поддерживает инкрементную запись или добавление к существующим источникам данных. Хотя это полнофункциональная библиотека для работы с источниками векторных данных OGR, Fiona обеспечивает большую гибкость и контроль над обработкой данных, включая инкрементную запись или добавление к существующим источникам данных[1][3].

Ключевые различия

- Фиона: поддерживает инкрементную запись или добавление к существующим источникам данных.
- Pyogrio: не поддерживает инкрементную запись или добавление к существующим источникам данных. Он использует подход без сохранения состояния для чтения или записи данных, при котором все данные считываются или записываются за один проход.

Сравнение с Фионой

- Фиона: более гибкая и надежная, с более широким спектром поддерживаемых форматов файлов и большим контролем над обработкой данных.
- Pyogrio: оптимизирован для более быстрых операций ввода-вывода, в частности для GeoPandas и сокращения преобразований данных, необходимых для операций ввода-вывода.

Установка и совместимость

- Фиона: широко доступна и поддерживает более широкий спектр платформ, включая Windows.
- Pyogrio: доступен в Conda-forge для Linux и MacOS, но пока не доступен в PyPi из-за сложности упаковки двоичных зависимостей для Windows. Для этого требуются совместимые версии GDAL и numpy из Conda-forge для поддержки необработанного ввода-вывода, а также geopandas, pygeos и их зависимости для поддержки ввода-вывода GeoDataFrame[1][3].

Механизм по умолчанию в GeoPandas

- Фиона: в настоящее время механизм по умолчанию, используемый GeoPandas для чтения и записи файлов.
- Pyogrio: будет движком по умолчанию в GeoPandas 1.0 из-за его потенциала значительного ускорения[5].

Таким образом, хотя обе библиотеки предназначены для работы с пространственными данными, Fiona предлагает большую гибкость и контроль над обработкой данных, включая инкрементную запись или добавление к существующим источникам данных. Pyogrio, с другой стороны, оптимизирован для более быстрых операций ввода-вывода и специально предназначен для сокращения преобразований данных, необходимых для операций ввода-вывода GeoPandas.

Цитаты:
[1] https://pyogrio.readthedocs.io/en/latest/about.html
[2] https://github.com/geopandas/geopandas/issues/2908
[3] https://pypi.org/project/pyogrio/0.2.0/
[4] https://pyogrio.readthedocs.io/en/latest/introduction.html.
[5] https://geopandas.org/en/stable/docs/reference/api/geopandas.read_file.html