Reparieren Sie defekte GDAL und PROJ.4 auf Ubuntu?

13

Ich habe das Bibliotheksproblem gelöst, aber andere bleiben, nur vage im Zusammenhang mit der nicht geladenen PROJ.4-Bibliothek. Ich habe eine Folgefrage für diese gestellt.

Mein GDAL-Paket und meine PROJ.4-Bibliothek sind beschädigt, was zu Fehlern beim Versuch führt, Dateien neu zu projizieren (siehe alte Frage unten). Ich weiß nicht, ob dieses Problem aufgetreten ist, als ich versehentlich eine andere Instanz von GDAL installiert habe. Ich habe es jedoch deinstalliert und QGIS neu installiert, und das Problem bleibt bestehen.

Nach jeder Neuinstallation verfügt QGIS über dieselben Plugins wie zuvor, sodass der Teil, der die Fehler verursacht, vom Installations- / Deinstallationsprozess unberührt bleibt.

Was habe ich versucht:

  • sudo apt-get remove build-essential python-all-devund sudo apt-get remove gdal-binum die manuell installierte GDAL zu löschen
  • (Un) Installation von QGIS mit Ubuntu Software Center
  • sudo apt-get --purge autoremove
  • dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purgeund dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purgeum die Konfigurationsdateien zu löschen

Immer noch kein Glück. Ich habe etwas gefunden , das verwandt zu sein schien , aber das ist für Windows, nicht für mein Ubuntu 14.04. Was (und wie) sollte ich vor der nächsten Installation von QGIS löschen?


Die ursprüngliche Frage:

Ich versuche, einige Shapefiles mit ogr2ogr neu zu projizieren. Ich erhalte jedoch immer den folgenden Fehler:

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.

Ich habe dies mit verschiedenen Transformationen getestet, einschließlich grundlegender Kombinationen von WGS84 (EPSG: 4326) zu UTM (EPSG: 3857), und dieser Fehler tritt die ganze Zeit auf.

Das Problem kann durch die Tatsache verursacht werden, dass ich GDAL mit meinem QGIS (2.10) zwar habe, es aber fälschlicherweise noch einmal installiert habe (aus dem Quellcode, wie in dieser Antwort vorgeschlagen).

Nachdem ich einige Male auf dieses Problem gestoßen war, habe ich versucht, die neue GDAL-Instanz zu deinstallieren ( sudo apt-get remove build-essential python-all-devund sudo apt-get remove gdal-bin- nicht sicher, ob sie sauber entfernt wurde oder nicht).

In /USR/LIB/ich habe libproj.so.0und libproj.so.0.7.0nicht libproj.so. Ich kann es nicht sehen, auch wenn versteckte Dateien angezeigt werden. Wenn ich es jedoch versuche ln -s libproj.so.0.7.0 libproj.so(oder dasselbe mit sudo), beschwert es sich, dass es libproj.sobereits existiert.

Pavel V.
quelle
Es kann auch hilfreich sein, qgis zu entfernen und neu zu installieren.
AndreJ
@AndreJ: neu installiert und nichts geändert. Die zugehörigen Dateien scheinen jedoch unberührt zu sein (ich habe die gleichen Plugins wie vor der Neuinstallation von QGIS usw.), daher werde ich versuchen, sie jetzt vollständig zu entfernen.
Pavel V.
Ich denke, Sie sollten den Titel und die Tags bearbeiten. Ihr Problem ist ein Installationsproblem, und Sie möchten möglicherweise fragen, wie eine fehlerhafte Installation behoben werden kann.
user30184
@ user30184: bearbeitet, wie Sie vorgeschlagen haben.
Pavel V.
2
Diese Fehlermeldung scheint darauf hinzudeuten, dass libproj nicht geladen wird. Haben Sie ausgeführt, obwohl die Pakete es bereits hätten tun sollen sudo ldconfig? ldd ogrinfoZeigt die Ausgabe von (möglicherweise müssen Sie den vollständigen Pfad für ogrinfo angeben) libproj.so an und befindet sich diese in dem von Ihnen erwarteten Verzeichnis (/ usr / lib)?
Evil Genius

Antworten:

12

In /gis/158457/gdal2tiles-how-make-filenames-of-tiles-to-represent-xyz-coordinates erwähnt jemand Folgendes:

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

Welches absolut den gleichen Fehler behoben hat (FEHLER 6: Laden der PROJ.4-Bibliothek (libproj.so) nicht möglich) für mich.


In der x86_64-Architektur müssen Sie möglicherweise diese Variante verwenden:

sudo ln -s /usr/lib64/libproj.so.0 /usr/lib/libproj.so
Akhorus
quelle
1
Dies löste es für mich, und ich war bemüht, es durch den Dateinamen im Fehler zu finden, während es libproj.so.0
ekerner
1
Ich musste beides libprojund gdalund mit unterschiedlichen Nummern verknüpfen - dh ln -s /usr/lib/libproj.so.15 /usr/lib/libproj.so; ln -s /usr/lib/libgdal.so.20 /usr/lib/libgdal.soaber ich arbeite jetzt für mich, danke für die Steuerung!
anotherdave
8

Nach mehreren falschen Wege, einschließlich mehrerer Neuinstallation von libproj0Paket und sogar QGIS aus Quellen unterscheidet sich von der Ubuntu Software Center Standard - Installation (ich glaube , es von der offiziellen QGIS - Repository ist - http://qgis.org/debian trusty main), habe ich verstanden , wie Beratung durch @EvilGenius anzuwenden: ldd ogrinfonicht zeigen libprojkeine Egal wie oft ich es benutzt habe sudo ldconfig, bis ich Folgendes eingegeben habe:

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

Seitdem wird die Bibliothek normal gelesen.

Pavel V.
quelle
7

Versuchen:

sudo apt-get install libproj-dev

Es löste den gleichen Fehler für mich, als ich gdal_translate zum Extrahieren von Bändern aus einem HDF-Bild verwendete.

Sandino
quelle
0

Verwenden Sie --with-static-proj zum Kompilieren von GDAL-Bibliotheken.

Mitstreiter
quelle
1
Es wäre nützlich, Ihrer Antwort eine
kurze