아니요, Pyogrio는 기존 데이터 소스에 대한 증분 쓰기 또는 추가를 지원하지 않습니다. 데이터를 읽거나 쓰기 위해 상태 비저장 접근 방식을 사용합니다. 여기서 모든 데이터는 단일 패스로 읽거나 쓰여집니다. 이는 기존 데이터 소스에 새 레코드를 추가하거나 전체 파일을 다시 쓰지 않고 파일에 추가하는 것을 지원하지 않는다는 것을 의미합니다[1][3].
이와 대조적으로 Fiona는 기존 데이터 소스에 대한 증분 쓰기 또는 추가를 지원합니다. OGR 벡터 데이터 소스 작업을 위한 모든 기능을 갖춘 라이브러리인 동시에 Fiona는 증분 쓰기 또는 기존 데이터 소스에 추가를 포함하여 데이터 처리에 대한 더 많은 유연성과 제어를 허용합니다[1][3].
주요 차이점
- Fiona: 증분 쓰기를 지원하거나 기존 데이터 소스에 추가합니다.- Pyogrio: 증분 쓰기 또는 기존 데이터 소스에 추가를 지원하지 않습니다. 데이터를 읽거나 쓰기 위해 상태 비저장 접근 방식을 사용합니다. 여기서 모든 데이터는 단일 패스로 읽거나 쓰여집니다.
피오나와의 비교
- Fiona: 지원되는 파일 형식이 더 다양하고 데이터 처리에 대한 제어가 강화되어 더욱 유연하고 강력해졌습니다.- Pyogrio: 특히 GeoPanda를 대상으로 하고 I/O 작업에 필요한 데이터 변환을 줄이는 빠른 I/O 작업에 최적화되었습니다.
설치 및 호환성
- Fiona: 널리 사용 가능하며 Windows를 포함하여 더 광범위한 플랫폼을 지원합니다.- Pyogrio: Linux 및 MacOS용 Conda-forge에서는 사용할 수 있지만 Windows용 바이너리 종속성 패키징의 복잡성으로 인해 PyPi에서는 아직 사용할 수 없습니다. 원시 I/O 지원과 geopandas, pygeos 및 GeoDataFrame I/O 지원을 위한 종속성을 위해서는 Conda-forge의 호환 가능한 버전의 GDAL과 numpy가 필요합니다[1][3].
GeoPandas의 기본 엔진
- Fiona: 현재 GeoPandas에서 파일 읽기 및 쓰기에 사용하는 기본 엔진입니다.- Pyogrio: 상당한 속도 향상 가능성으로 인해 GeoPandas 1.0의 기본 엔진이 될 것입니다[5].
요약하자면, 두 라이브러리 모두 공간 데이터 작업용으로 설계되었지만 Fiona는 증분 쓰기 또는 기존 데이터 소스에 추가를 포함하여 데이터 처리에 대한 더 많은 유연성과 제어 기능을 제공합니다. 반면 Pyogrio는 더 빠른 I/O 작업에 최적화되어 있으며 특히 GeoPandas I/O 작업에 필요한 데이터 변환을 줄이는 것을 목표로 합니다.
인용:[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