No, Pyogrio no admite escrituras incrementales ni anexos a fuentes de datos existentes. Utiliza un enfoque sin estado para leer o escribir datos, donde todos los datos se leen o escriben en una sola pasada. Esto significa que no admite agregar nuevos registros a una fuente de datos existente ni agregarlos a un archivo sin reescribir el archivo completo[1][3].
Por el contrario, Fiona admite escrituras incrementales o anexiones a fuentes de datos existentes. Si bien es una biblioteca con todas las funciones para trabajar con fuentes de datos vectoriales OGR, Fiona permite una mayor flexibilidad y control sobre el procesamiento de datos, incluidas escrituras incrementales o anexos a fuentes de datos existentes[1][3].
Diferencias clave
- Fiona: admite escrituras incrementales o anexos a fuentes de datos existentes.- Pyogrio: No admite escrituras incrementales ni anexiones a fuentes de datos existentes. Utiliza un enfoque sin estado para leer o escribir datos, donde todos los datos se leen o escriben en una sola pasada.
Comparación con Fiona
- Fiona: Más flexible y robusto, con una gama más amplia de formatos de archivo compatibles y más control sobre el procesamiento de datos.- Pyogrio: optimizado para operaciones de E/S más rápidas, específicamente dirigido a GeoPandas y reduciendo las transformaciones de datos requeridas para las operaciones de E/S.
Instalación y compatibilidad
- Fiona: Ampliamente disponible y compatible con una gama más amplia de plataformas, incluido Windows.- Pyogrio: Disponible en Conda-forge para Linux y MacOS, pero aún no en PyPi debido a la complejidad de empaquetar dependencias binarias para Windows. Requiere versiones compatibles de GDAL y numpy de Conda-forge para soporte de E/S sin procesar y geopandas, pygeos y sus dependencias para soporte de E/S de GeoDataFrame[1][3].
Motor predeterminado en GeoPandas
- Fiona: actualmente el motor predeterminado utilizado por GeoPandas para leer y escribir archivos.- Pyogrio: Será el motor predeterminado en GeoPandas 1.0 debido a su potencial para importantes aceleraciones[5].
En resumen, si bien ambas bibliotecas están diseñadas para trabajar con datos espaciales, Fiona ofrece más flexibilidad y control sobre el procesamiento de datos, incluidas escrituras incrementales o anexos a fuentes de datos existentes. Pyogrio, por otro lado, está optimizado para operaciones de E/S más rápidas y está específicamente dirigido a reducir las transformaciones de datos necesarias para las operaciones de E/S de GeoPandas.
Citas:[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