Memperbaiki GDAL dan PROJ.4 yang rusak di Ubuntu?

13

Saya memecahkan masalah perpustakaan, tetapi yang lain tetap, hanya samar-samar terkait dengan perpustakaan PROJ.4 tidak dimuat. Saya mengajukan pertanyaan lanjutan untuk ini.

Paket GDAL dan pustaka PROJ.4 saya rusak, yang menyebabkan kesalahan saat mencoba memproyeksi ulang file (lihat pertanyaan lama di bawah). Saya tidak tahu apakah masalah ini dimulai ketika saya keliru menginstal GDAL contoh lain atau sebelumnya; namun, saya telah mencopotnya dan menginstal ulang QGIS dan masalahnya tetap ada.

Setelah setiap instal ulang, QGIS memiliki plugin yang sama seperti sebelumnya, sehingga bagian yang menyebabkan kesalahan tidak tersentuh oleh proses install / uninstall.

Apa yang sudah saya coba:

  • sudo apt-get remove build-essential python-all-devdan sudo apt-get remove gdal-binuntuk membersihkan GDAL yang diinstal secara manual
  • (un) instal QGIS dengan Ubuntu Software Center
  • sudo apt-get --purge autoremove
  • dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purgedan dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purgeuntuk membersihkan file konfigurasi

Masih belum berhasil. Saya telah menemukan sesuatu yang tampaknya terkait , tetapi itu untuk Windows, bukan untuk Ubuntu 14.04 saya. Apa lagi (dan bagaimana) yang harus saya bersihkan sebelum menginstal QGIS berikutnya?


Pertanyaan asli:

Saya mencoba memproyeksi ulang beberapa shapefile dengan ogr2ogr. Namun, saya selalu mendapatkan kesalahan berikut:

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.

Saya menguji ini dengan berbagai transformasi, termasuk kombinasi dasar seperti dari WGS84 (EPSG: 4326) ke UTM (EPSG: 3857), dan kesalahan ini terjadi setiap saat.

Masalahnya mungkin disebabkan oleh fakta bahwa walaupun saya memiliki GDAL dengan QGIS saya (2.10), saya keliru menginstalnya sekali lagi (dari sumber, melakukan seperti yang disarankan jawaban ini ).

Setelah menghadapi masalah ini beberapa kali, saya mencoba untuk menghapus instalan GDAL baru ( sudo apt-get remove build-essential python-all-devdan sudo apt-get remove gdal-bin- tidak yakin apakah itu dihapus atau tidak).

Di /USR/LIB/saya miliki libproj.so.0dan libproj.so.0.7.0, tidak libproj.so. Saya tidak dapat melihatnya bahkan dengan file tersembunyi yang ditampilkan. Namun, ketika saya mencoba ln -s libproj.so.0.7.0 libproj.so(atau sama dengan sudo), itu mengeluh bahwa libproj.sosudah ada.

Pavel V.
sumber
Mungkin membantu untuk menghapus dan menginstal ulang qgis juga.
AndreJ
@AndreJ: diinstal ulang dan tidak ada yang berubah. Namun, file terkait sepertinya tidak tersentuh (saya memiliki plugin yang sama seperti sebelum QGIS menginstal ulang dll), jadi saya akan mencoba untuk menghapusnya sekarang.
Pavel V.
Saya pikir Anda harus mengedit judul dan tag. Masalah Anda adalah masalah instalasi dan Anda mungkin ingin bertanya bagaimana memperbaiki instalasi yang rusak.
user30184
@ user30184: diedit, seperti yang Anda sarankan.
Pavel V.
2
Pesan kesalahan itu memang menunjukkan bahwa libproj tidak dimuat. Meskipun paket seharusnya sudah melakukannya, sudahkah Anda menjalankannya sudo ldconfig? Juga, apakah output dari ldd ogrinfo(Anda mungkin harus memberikan path lengkap untuk ogrinfo) menunjukkan libproj.so dan apakah itu ada di direktori yang Anda harapkan (/ usr / lib)?
Evil Genius

Jawaban:

12

Di /gis/158457/gdal2tiles-how-to-make-filenames-of-tiles-to-represent-xyz-coordinates , seseorang menyebutkan melakukan:

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

Yang benar-benar memperbaiki kesalahan yang sama (ERROR 6: Tidak dapat memuat pustaka PROJ.4 (libproj.so)) untuk saya.


Pada arsitektur x86_64 Anda mungkin perlu menggunakan variasi ini:

sudo ln -s /usr/lib64/libproj.so.0 /usr/lib/libproj.so
Akhorus
sumber
1
Ini menyelesaikannya untuk saya, Dan saya melakukan kepalaku dalam mencoba menemukannya dengan nama file dalam kesalahan, sementara itu disebut libproj.so.0
ekerner
1
Saya perlu untuk menghubungkan keduanya libprojdan gdaldengan angka yang berbeda - yaitu ln -s /usr/lib/libproj.so.15 /usr/lib/libproj.so; ln -s /usr/lib/libgdal.so.20 /usr/lib/libgdal.sotetapi bekerja untuk saya sekarang, terima kasih untuk mengarahkan!
anotherdave
8

Setelah beberapa cara yang salah, termasuk menginstal ulang beberapa libproj0paket dan bahkan menginstal QGIS dari sumber yang berbeda dari standar Ubuntu Software Center (saya pikir itu dari repositori QGIS resmi - http://qgis.org/debian trusty main), saya mengerti bagaimana menerapkan saran oleh @EvilGenius: ldd ogrinfotidak menunjukkan libprojtidak peduli berapa kali saya menggunakan sudo ldconfig, sampai saya mengetik:

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

Sejak itu, perpustakaan dibaca secara normal.

Pavel V.
sumber
7

Mencoba:

sudo apt-get install libproj-dev

Ini memecahkan kesalahan yang sama bagi saya ketika menggunakan gdal_translate untuk mengekstraksi band dari gambar hdf.

Sandino
sumber
0

gunakan --with-static-proj saat mengkompilasi pustaka gdal.

kode sandi
sumber
1
Akan bermanfaat untuk menyertakan sedikit penjelasan beserta jawaban Anda
Midavalo