Восстановление сломанных 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
  • (un) установка QGIS с программным центром Ubuntu
  • 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 и т. Д.), Поэтому я постараюсь удалить его полностью сейчас.
Павел В.
Я думаю, что вы должны отредактировать заголовок и теги. Ваша проблема связана с установкой, и вы можете спросить, как исправить неисправную установку.
user30184
@ user30184: отредактировано, как вы предложили.
Павел В.
2
Это сообщение об ошибке указывает на то, что libproj не загружается. Хотя пакеты уже должны были это сделать, вы запускали sudo ldconfig? Кроме того, выводит ли ldd ogrinfo(возможно, вам придется указать полный путь для ogrinfo) файл libproj.so и находится ли он в ожидаемом вами каталоге (/ usr / lib)?
Злой гений

Ответы:

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
Akhorus
источник
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 Software Center по умолчанию (я думаю, что это из официального репозитория 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

используйте --with-static- proj при компиляции библиотек gdal.

codeadict
источник
1
Было бы полезно включить немного объяснения вместе с вашим ответом
Midavalo