Nie, Pyogrio nie obsługuje zapisu przyrostowego ani dołączania do istniejących źródeł danych. Wykorzystuje bezstanowe podejście do odczytu lub zapisu danych, gdzie wszystkie dane są odczytywane lub zapisywane w jednym przebiegu. Oznacza to, że nie obsługuje dodawania nowych rekordów do istniejącego źródła danych ani dołączania do pliku bez przepisywania całego pliku [1] [3].
Natomiast Fiona obsługuje zapis przyrostowy lub dołączanie do istniejących źródeł danych. Chociaż jest to w pełni funkcjonalna biblioteka do pracy ze źródłami danych wektorowych OGR, Fiona pozwala na większą elastyczność i kontrolę nad przetwarzaniem danych, w tym przyrostowym zapisem lub dołączaniem do istniejących źródeł danych[1] [3].
Kluczowe różnice
- Fiona: Obsługuje zapis przyrostowy lub dołączanie do istniejących źródeł danych.- Pyogrio: Nie obsługuje zapisów przyrostowych ani dołączania do istniejących źródeł danych. Wykorzystuje bezstanowe podejście do odczytu lub zapisu danych, gdzie wszystkie dane są odczytywane lub zapisywane w jednym przebiegu.
Porównanie z Fioną
- Fiona: Bardziej elastyczna i solidna, z szerszą gamą obsługiwanych formatów plików i większą kontrolą nad przetwarzaniem danych.- Pyogrio: zoptymalizowany pod kątem szybszych operacji we/wy, szczególnie ukierunkowany na GeoPanda i redukujący transformacje danych wymagane do operacji we/wy.
Instalacja i kompatybilność
- Fiona: Szeroko dostępna i obsługuje szerszą gamę platform, w tym Windows.- Pyogrio: Dostępne w Conda-forge dla Linuksa i MacOS, ale jeszcze nie w PyPi ze względu na złożoność pakowania zależności binarnych dla Windows. Wymaga kompatybilnych wersji GDAL i numpy z Conda-forge do obsługi surowych operacji we/wy oraz geopand, pygeos i ich zależności do obsługi operacji we/wy GeoDataFrame[1] [3].
Domyślny silnik w GeoPandas
- Fiona: Obecnie domyślny silnik używany przez GeoPandas do odczytu i zapisu plików.- Pyogrio: Będzie domyślnym silnikiem w GeoPandas 1.0 ze względu na jego potencjał znacznych przyspieszeń[5].
Podsumowując, choć obie biblioteki są przeznaczone do pracy z danymi przestrzennymi, Fiona oferuje większą elastyczność i kontrolę nad przetwarzaniem danych, w tym przyrostowym zapisem lub dołączaniem do istniejących źródeł danych. Z drugiej strony Pyogrio jest zoptymalizowany pod kątem szybszych operacji we/wy i jest specjalnie ukierunkowany na ograniczenie transformacji danych wymaganych do operacji we/wy GeoPandas.
Cytaty:[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