ซ่อม GDAL และ PROJ.4 ที่เสียหายบน Ubuntu หรือไม่


13

ฉันแก้ไขปัญหาห้องสมุดแล้ว แต่ยังมีคนอื่น ๆ ที่เกี่ยวข้องเพียงอย่างเดียวกับห้องสมุด PROJ.4 ที่ไม่ได้โหลด ฉันถามคำถามติดตามผลสำหรับสิ่งเหล่านี้

แพ็คเกจ GDAL ของฉันและห้องสมุด PROJ.4 เสียหายซึ่งทำให้เกิดข้อผิดพลาดขณะพยายามปฏิเสธไฟล์ (ดูคำถามเก่าด้านล่าง) ฉันไม่ทราบว่าปัญหานี้เริ่มต้นในขณะที่ฉันติดตั้งอินสแตนซ์อื่นของ GDAL หรือก่อนหน้านี้โดยไม่ตั้งใจ อย่างไรก็ตามฉันได้ถอนการติดตั้งและติดตั้ง QGIS ใหม่และปัญหายังคงอยู่

หลังจากติดตั้งใหม่แต่ละครั้ง QGIS จะมีปลั๊กอินเหมือนเดิมดังนั้นชิ้นส่วนที่ทำให้เกิดข้อผิดพลาดจะไม่ถูกแตะต้องโดยกระบวนการติดตั้ง / ถอนการติดตั้ง

ฉันลองทำอะไร:

  • sudo apt-get remove build-essential python-all-devและsudo apt-get remove gdal-binเพื่อกำจัด GDAL ที่ติดตั้งด้วยตนเอง
  • (ยกเลิก) ติดตั้ง QGIS ด้วย Ubuntu Software Center
  • sudo apt-get --purge autoremove
  • dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purgeและdpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purgeเพื่อล้างไฟล์การกำหนดค่า

ยังไม่มีโชค ฉันพบบางสิ่งที่ดูเหมือนเกี่ยวข้องแต่สำหรับ Windows ไม่ใช่สำหรับ Ubuntu 14.04 ของฉัน ฉันควรกำจัดอะไรอีก (และวิธี) ก่อนที่จะติดตั้ง QGIS ครั้งต่อไป


คำถามเดิม:

ฉันพยายามปฏิเสธรูปทรงบางไฟล์ด้วย ogr2ogr อย่างไรก็ตามฉันมักจะได้รับข้อผิดพลาดต่อไปนี้:

ERROR 6: Unable to load PROJ.4 library (libproj.so), creation of
OGRCoordinateTransformation failed.
Failed to create coordinate transformation between the
following coordinate systems.  This may be because they
are not transformable, or because projection services
(PROJ.4 DLL/.so) could not be loaded.

ฉันทดสอบสิ่งนี้ด้วยการแปลงรูปแบบต่าง ๆ รวมถึงชุดค่าผสมพื้นฐานเช่นตั้งแต่ WGS84 (EPSG: 4326) ถึง UTM (EPSG: 3857) และข้อผิดพลาดนี้เกิดขึ้นตลอดเวลา

ปัญหาอาจเกิดจากข้อเท็จจริงที่ว่าแม้ว่าฉันมี GDAL กับ QGIS ของฉัน (2.10) แต่ฉันติดตั้งมันผิดอีกครั้ง (จากแหล่งที่มาทำตามคำแนะนำนี้ )

หลังจากประสบปัญหานี้สองสามครั้งฉันพยายามถอนการติดตั้งอินสแตนซ์ GDAL ใหม่ ( sudo apt-get remove build-essential python-all-devและsudo apt-get remove gdal-bin- ไม่แน่ใจว่าจะถูกลบอย่างหมดจดหรือไม่)

ใน/USR/LIB/ฉันมีlibproj.so.0และไม่libproj.so.0.7.0 libproj.soฉันไม่เห็นแม้จะมีไฟล์ที่ซ่อนอยู่แสดงอยู่ อย่างไรก็ตามเมื่อฉันลองln -s libproj.so.0.7.0 libproj.so(หรือเหมือนกันกับsudo) มันบ่นว่าlibproj.soมีอยู่แล้ว


มันอาจช่วยในการลบและติดตั้ง qgis ใหม่เช่นกัน
AndreJ

@AndreJ: ติดตั้งใหม่และไม่มีอะไรเปลี่ยนแปลง อย่างไรก็ตามไฟล์ที่เกี่ยวข้องดูเหมือนจะไม่มีการแตะต้อง (ฉันมีปลั๊กอินเหมือนก่อนที่จะติดตั้ง QGIS ฯลฯ ) ดังนั้นฉันจะพยายามลบออกทันที
Pavel V.

ฉันคิดว่าคุณควรแก้ไขชื่อและแท็ก ปัญหาของคุณคือปัญหาการติดตั้งและคุณอาจต้องการถามวิธีการแก้ไขการติดตั้งที่ใช้งานไม่ได้
30184

@ user30184: แก้ไขแล้วตามที่คุณแนะนำ
Pavel V.

2
ดูเหมือนว่าข้อความแสดงข้อผิดพลาดนั้นบ่งชี้ว่า libproj ไม่ได้ถูกโหลด แม้ว่าแพคเกจควรจะได้ทำมันแล้วมีคุณทำงานsudo ldconfig? นอกจากนี้ผลลัพธ์ของldd ogrinfo(คุณอาจต้องให้เส้นทางแบบเต็มสำหรับ ogrinfo) แสดง libproj.so และอยู่ในไดเรกทอรีที่คุณคาดหวัง (/ usr / lib) หรือไม่
Evil Genius

คำตอบ:


12

ใน/gis/158457/gdal2tiles-how-to-make-filenames-of-tiles-to-represent-xyz-coordinatesบางคนกล่าวถึง:

sudo ln -s /usr/lib/libproj.so.0 /usr/lib/libproj.so

ซึ่งแก้ไขข้อผิดพลาดเดียวกันอย่างแน่นอน (ข้อผิดพลาด 6: ไม่สามารถโหลดไลบรารี PROJ.4 (libproj.so)) สำหรับฉันได้


บนสถาปัตยกรรม x86_64 คุณอาจต้องใช้รูปแบบนี้:

sudo ln -s /usr/lib64/libproj.so.0 /usr/lib/libproj.so

1
วิธีนี้แก้ไขได้สำหรับฉันและฉันพยายามที่จะค้นหาโดยชื่อไฟล์ในข้อผิดพลาดขณะที่ชื่อ libproj.so.0
ekerner

1
ฉันจำเป็นต้องเชื่อมโยงทั้งสองlibprojและgdalด้วยตัวเลขที่แตกต่างกัน - นั่นคือln -s /usr/lib/libproj.so.15 /usr/lib/libproj.so; ln -s /usr/lib/libgdal.so.20 /usr/lib/libgdal.soแต่ใช้งานได้สำหรับฉันตอนนี้ขอบคุณสำหรับผู้คัดท้าย!
Anotherdave

8

หลังจากวิธีการที่ผิดหลายวิธีรวมถึงการติดตั้งlibproj0แพคเกจหลายครั้งและแม้แต่การติดตั้ง QGIS จากแหล่งต่าง ๆ จากศูนย์ซอฟต์แวร์ Ubuntu ที่เป็นค่าเริ่มต้น (ฉันคิดว่ามันมาจากแหล่งเก็บ QGIS อย่างเป็นทางการ - http://qgis.org/debian trusty main) ฉันเข้าใจวิธีใช้คำแนะนำโดย @EvilGenius: ldd ogrinfoไม่แสดงlibprojเลย ไม่ว่าฉันจะใช้กี่ครั้งsudo ldconfigจนกว่าฉันจะพิมพ์:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

ตั้งแต่นั้นมาห้องสมุดจะอ่านตามปกติ


7

ลอง:

sudo apt-get install libproj-dev

มันแก้ไขข้อผิดพลาดเดียวกันสำหรับฉันเมื่อใช้ gdal_translate สำหรับการแยกแถบจากภาพ hdf


0

ใช้- กับ static-projเมื่อรวบรวมไลบรารี gdal


1
มันจะมีประโยชน์ในการรวมคำอธิบายเล็กน้อยพร้อมกับคำตอบของคุณ
Midavalo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.