ไม่ Pyogrio ไม่รองรับการเขียนแบบเพิ่มหน่วยหรือผนวกเข้ากับแหล่งข้อมูลที่มีอยู่ โดยใช้วิธีการอ่านหรือเขียนข้อมูลแบบไร้สถานะ โดยที่ข้อมูลทั้งหมดจะถูกอ่านหรือเขียนในการส่งผ่านครั้งเดียว ซึ่งหมายความว่าไม่รองรับการเพิ่มบันทึกใหม่ลงในแหล่งข้อมูลที่มีอยู่หรือต่อท้ายไฟล์โดยไม่เขียนใหม่ทั้งไฟล์[1] [3]
ในทางตรงกันข้าม Fiona รองรับการเขียนแบบเพิ่มหน่วยหรือผนวกเข้ากับแหล่งข้อมูลที่มีอยู่ แม้ว่าจะเป็นไลบรารีที่มีคุณสมบัติครบถ้วนสำหรับการทำงานกับแหล่งข้อมูลเวกเตอร์ OGR แต่ Fiona ก็ให้ความยืดหยุ่นและการควบคุมการประมวลผลข้อมูลได้มากขึ้น รวมถึงการเขียนแบบเพิ่มหน่วยหรือผนวกเข้ากับแหล่งข้อมูลที่มีอยู่[1] [3]
ความแตกต่างที่สำคัญ
- Fiona: รองรับการเขียนแบบเพิ่มหน่วยหรือผนวกเข้ากับแหล่งข้อมูลที่มีอยู่- Pyogrio: ไม่รองรับการเขียนแบบเพิ่มหน่วยหรือผนวกเข้ากับแหล่งข้อมูลที่มีอยู่ โดยใช้วิธีการอ่านหรือเขียนข้อมูลแบบไร้สถานะ โดยที่ข้อมูลทั้งหมดจะถูกอ่านหรือเขียนในการส่งผ่านครั้งเดียว
เปรียบเทียบกับฟิโอน่า
- Fiona: ยืดหยุ่นและแข็งแกร่งยิ่งขึ้น พร้อมรูปแบบไฟล์ที่รองรับที่หลากหลายยิ่งขึ้น และควบคุมการประมวลผลข้อมูลได้มากขึ้น- Pyogrio: ได้รับการปรับให้เหมาะสมเพื่อการดำเนินการ I/O ที่เร็วขึ้น โดยเฉพาะการกำหนดเป้าหมาย GeoPandas และลดการแปลงข้อมูลที่จำเป็นสำหรับการดำเนินการ I/O
การติดตั้งและความเข้ากันได้
- Fiona: ใช้งานได้อย่างกว้างขวางและรองรับแพลตฟอร์มที่หลากหลาย รวมถึง Windows- Pyogrio: พร้อมใช้งานบน Conda-forge สำหรับ Linux และ MacOS แต่ยังไม่มีบน PyPi เนื่องจากความซับซ้อนของการพึ่งพาไบนารีของแพ็คเกจสำหรับ Windows ต้องการเวอร์ชันที่เข้ากันได้ของ GDAL และ numpy จาก Conda-forge สำหรับการรองรับ Raw I/O และ geopandas, pygeos และการขึ้นต่อกันสำหรับการสนับสนุน GeoDataFrame I/O[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
-