Pyogrio nie obsługuje zapisów przyrostowych ani dołączających do istniejących źródeł danych, tak jak FIONA. Wykorzystuje bezstronne, zorientowane na masowe podejście do czytania i pisania formatów danych wektorowych przestrzennych, co oznacza, że wszystkie dane są odczytane lub zapisane w jednym przepustce. Oznacza to, że Pyogro nie pozwala na dodanie nowych rekordów do istniejącego źródła danych ani dołączanie do pliku bez przepisywania całego pliku. Natomiast FIONA obsługuje przyrostowe zapisy lub dołączają, zapewniając większą elastyczność i kontrolę nad przetwarzaniem danych.
Pyogro zostało opracowane jako eksperymentalna wysokowydajna alternatywa dla FIONA, ukierunkowana na szybsze operacje we/wy specjalnie dla Geopandas. Pyogrio wykorzystuje wewnętrzne podejście zorientowane na Numpy z Cythonem do obsługi danych przestrzennych, wyodrębniając geometrie, a także znane obiekty binarne i atrybuty terenowe jako tablice Numpy, zanim przekształci je w Geopandas GeodataFrames. Cała geodataframe jest przetwarzana w pamięci i zapisywana podczas jednej operacji masowej, co zwiększa prędkość, ale ogranicza elastyczność, taką jak pisanie przyrostowe.
Z drugiej strony Fiona jest w pełni funkcjonalną biblioteką Python o ogólnym przyurę do pracy ze źródłami danych ogr wektorowych. Zastosuje podejście stanowe, w którym dane są odczytywane lub zapisywane w wielu podaniach. To sprawia, że FIONA jest bardziej dostosowująca się do różnych przypadków użytkowania, w tym złożonych transformacji danych i przyrostowych zapisów lub operatorów dołączania. Projekt Fiony pozwala na dodanie nowych funkcji do istniejącego pliku przestrzennego lub modyfikowanie zestawu danych bez ponownego przetwarzania wszystkiego. Ta zdolność do obsługi zapisów przyrostowych ma kluczowe znaczenie dla przepływów pracy wymagających aktualizacji zestawów danych geoprzestrzennych w czasie.
Pyogrio koncentruje się na zapewnieniu szybszego dostępu do odczytu/zapisu, unikając wielu konwersji między Pythonem i natywnymi typami danych, które wykonuje Fiona. Wykorzystuje wstępnie skompilowane powiązania z bibliotekami GDAL/OGR w celu realizacji operacji danych w sposób wektoryzowany i masowy. Porównania wydajności pokazują, że Pyogro może osiągnąć szybkość ponad 5-20 razy w porównaniu z FIONA podczas czytania i pisania plików, dzięki czemu jest odpowiedni do obsługi dużych zestawów danych lub operacji sprzyjających przepustowości w stosunku do dopracowanej edycji.
Kluczowy kompromis między dwiema bibliotekami polega na elastyczności w porównaniu z prędkością. Podczas gdy FIONA obsługuje przyrostowe aktualizacje, różnorodne formaty plików i bogate możliwości sterowania, nie wykazuje tego samego szybkiego przetwarzania dla operacji danych masowych, które zapewnia Pyogro. I odwrotnie, bezstanne przetwarzanie Piogrio, wszechstronne przetwarzanie, znacznie zwiększa prędkość, ale kosztem braku obsługi przyrostowych dołączeń lub modyfikacji istniejących zestawów danych.
Ponadto Pyogro nie obsługuje określania schematów podczas zapisów, w przeciwieństwie do FIONA, która umożliwia szczegółową kontrolę nad typami atrybutów i geometrii podczas pisania danych. Pyogro wyraźnie wyraźnie traktuje puste geometrie, pisząc je jako puste, a nie zerowe w niektórych przypadkach, odzwierciedlając jego koncentrację na bezpośrednim, zorientowanym na masę danych.
Podsumowując, Pyogro nie może obsługiwać przyrostowych zapisów lub dołączania jak Fiona. Odczytuje i pisze źródła danych przestrzennych w jednej operacji bez możliwości częściowego aktualizacji istniejących plików. FIONA pozostaje bardziej elastyczną opcją dla przepływów pracy wymagających przyrostowych modyfikacji danych, podczas gdy Pyogrio wyróżnia się dla wysokowydajnych operacji we/wy, szczególnie w przepływach pracy zorientowanych na Geopandas.
Informacje te są gromadzone z oficjalnej dokumentacji, przewodników użytkowników i dyskusji programistów na temat Piogrio i Fiona, podkreślając ich różnice architektoniczne, wzorce użytkowania i obsługiwane funkcje dotyczące przyrostowych zapisów i dodatków do danych.