No, Pyogrio non supporta scritture incrementali o accodamenti a origini dati esistenti. Utilizza un approccio stateless per leggere o scrivere i dati, in cui tutti i dati vengono letti o scritti in un unico passaggio. Ciò significa che non supporta l'aggiunta di nuovi record a un'origine dati esistente o l'aggiunta a un file senza riscrivere l'intero file[1][3].
Al contrario, Fiona supporta scritture incrementali o accodamenti a origini dati esistenti. Sebbene sia una libreria completa per lavorare con origini dati vettoriali OGR, Fiona consente maggiore flessibilità e controllo sull'elaborazione dei dati, comprese scritture incrementali o accodamenti a origini dati esistenti[1][3].
Differenze chiave
- Fiona: supporta scritture incrementali o accodamenti a origini dati esistenti.- Pyogrio: non supporta scritture incrementali o accodamenti a origini dati esistenti. Utilizza un approccio stateless per leggere o scrivere i dati, in cui tutti i dati vengono letti o scritti in un unico passaggio.
Confronto con Fiona
- Fiona: più flessibile e robusto, con una gamma più ampia di formati di file supportati e un maggiore controllo sull'elaborazione dei dati.- Pyogrio: ottimizzato per operazioni I/O più veloci, mirato specificamente ai GeoPanda e riducendo le trasformazioni dei dati richieste per le operazioni I/O.
Installazione e compatibilità
- Fiona: ampiamente disponibile e supporta una gamma più ampia di piattaforme, incluso Windows.- Pyogrio: disponibile su Conda-forge per Linux e MacOS ma non ancora su PyPi a causa della complessità del confezionamento delle dipendenze binarie per Windows. Richiede versioni compatibili di GDAL e numpy di Conda-forge per il supporto I/O grezzo e geopanda, pygeos e le relative dipendenze per il supporto I/O GeoDataFrame[1][3].
Motore predefinito in GeoPanda
- Fiona: attualmente il motore predefinito utilizzato da GeoPanda per leggere e scrivere file.- Pyogrio: sarà il motore predefinito in GeoPandas 1.0 a causa del suo potenziale di notevoli accelerazioni[5].
In sintesi, mentre entrambe le librerie sono progettate per lavorare con dati spaziali, Fiona offre maggiore flessibilità e controllo sull'elaborazione dei dati, comprese scritture incrementali o accodamenti a origini dati esistenti. Pyogrio, d'altro canto, è ottimizzato per operazioni I/O più veloci ed è specificamente mirato a ridurre le trasformazioni dei dati richieste per le operazioni I/O di GeoPanda.
Citazioni:[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