Установка ECW для QGIS в Ubuntu 12.04?

10

Я ознакомился с различными интерактивными справочными руководствами о том, как заставить ecw для QGIS 1.8 работать в Ubuntu 12.04. У меня все это работало в Ubuntu 10.04, но с переходом на 12.04 не повезло.

Есть ли руководство, которое работает для Ubuntu 12.04?

На данный момент кажется проще установить версию для Windows, где поддержка ecw включена в установку, но я бы хотел остаться с Ubuntu.

Юргена
источник
[Установка (lib) gdal-ecw] [1] не работает? [1]: gis.stackexchange.com/questions/1892/quantum-gis-and-ecw-images
lynxlynxlynx
Молодец Люк, он отлично работает на моем x64 Ubuntu 13.04 Raring на QGIS 1.80! ;-)
Небойша Танаскович
Я получаю gdal-ecw-build: команда не найдена
Юргена
Данные ответы не работают для более новых версий Ubuntu.
AndreJ

Ответы:

8

Библиотеки ECW не являются программным обеспечением с открытым исходным кодом и не могут свободно распространяться. Вам необходимо вручную добавить поддержку ecw в вашу локальную копию gdal. На Ubuntu сделать это:

wget http://de-mirror.org/distro/gentoo/distfiles/libecwj2-3.3-2006-09-06.zip
unzip libecwj2-3.3-2006-09-06.zip
cd libecwj2-3.3
./configure
make
sudo make install
sudo gdal-ecw-build /usr/local/ 
sudo ldconfig
Джованни Манги
источник
7

Intergraph ECW JPEG2000 SDK v5.0 был выпущен и включает поддержку Linux. Ubuntugis-unstable ppa был обновлен, чтобы включить поддержку SDK v5.0 в libgdal-ecw-src.

Ноты:

  • По состоянию на 27 июля 2013 года сборка не удалась на 32-битной Ubuntu
  • Драйверы ECW / JP2ECW не работают с привязками Python , исполняемые файлы gdal работают нормально.
  • Этот SDK лицензирован только для использования на настольном компьютере, и, как сообщается, произошел сбой при попытке использовать его в приложении сервера.

Чтобы заставить ECW JPEG2000 SDK v5.0 работать в Ubuntu 12.04 - 13.04 64bit:

  • обновить (или установить) libgdal-ecw-src из нестабильного PPA UbuntuGIS
  • скачать установщик SDK (ERDAS_ECWJP2_SDK-5.0.bin)
  • сделать его исполняемым ( chmod +x ERDAS_ECWJP2_SDK-5.0.bin)
  • запустить его ( ./ERDAS_ECWJP2_SDK-5.0.bin)
  • скопируйте каталог SDK в / usr / local ( sudo cp -r ecwjp2_sdk /usr/local/)
  • символическая ссылка libNCSEcw.so на / usr / local / lib ( sudo ln -s /usr/local/ecwjp2_sdk/lib/x64/release/libNCSEcw.so /usr/local/lib/libNCSEcw.so)
  • обновить ldconfig ( sudo ldconfig)
  • запустить скрипт gdal-ecw-build ( sudo gdal-ecw-build /usr/local/ecwjp2_sdk)
  • проверить это работает:

    gdalinfo --formats | grep -i ecw

    ECW (rw+): ERDAS Compressed Wavelets (SDK 5.0)

    JP2ECW (rw+v): ERDAS JPEG2000 (SDK 5.0)

user2856
источник
Чтобы использовать привязки Python, для меня это обходной путь: 1. Установите библиотеку SDK 5.0 в директорию ecwjp2_sdk; 2. Скомпилируйте библиотеку gdal из исходного кода со следующим синтаксисом:. / configure - with-python = yes - with-ecw = / path / to / SDK / ecwjp2_sdk
MickyInTheSky
Да, для полноты. Для меня нет проблем, если вы хотите обновить ответ.
MickyInTheSky
К настоящему времени SDK перешел на 5.1. Я описал обновленный рабочий процесс для Ubuntu 14.04 здесь: gis.stackexchange.com/questions/94870/… . Для 12.04 вам не нужно загружать скрипт сборки вручную, apt-get install будет работать.
AndreJ
3

Это единственное руководство, которое работает для меня на Ubuntu 12.04 32bit и последней версии QGIS.

Здесь я воспроизвожу шаги с соответствующими настройками:

  1. Перейдите по адресу http://download.intergraph.com/ и выберите «Продукты ECW» в раскрывающемся списке под «Семейство продуктов:».
  2. Нажмите «ERDAS ECW / JP2 SDK v5.3 (Linux)» (версия 5.3 доступна с 2016-06-14), а затем нажмите «Загрузить сейчас»
  3. Вы должны зарегистрироваться на сайте.
  4. Распакуйте загруженный файл, например:

unzip erdas-ecw-sdk-5.3.0-linux.zip 
  1. Сделайте распакованный двоичный исполняемый файл:

chmod +x ERDAS_ECWJP2_SDK-5.3.0.bin 
  1. Выполнить программу; выберите опцию «Рабочий стол только для чтения»

./ERDAS_ECWJP2_SDK-5.3.0.bin
  1. Теперь скопируйте ERDAS_ECWJP2_SDK-5.3.0папку в /usr/local:

sudo cp -r ERDAS-ECW_JPEG_2000_SDK-5.2.1 /usr/local/
  1. Найдите libNCSEcw.soи создайте символическую («мягкую») ссылку на него. Используйте папку x86или в x64соответствии с вашей системой:

sudo ln -s /usr/local/ERDAS-ECW_JPEG_2000_SDK-5.2.1/Desktop_Read-Only/lib/x86/release/libNCSEcw.so /usr/local/lib/libNCSEcw.so
  1. Теперь выполните следующие команды (обновите динамические ссылки, установите расширение ECW GDAL и запустите его):

sudo ldconfig
sudo apt-get install libgdal-ecw-src
sudo gdal-ecw-build /usr/local/ERDAS-ECW_JPEG_2000_SDK-5.2.1/Desktop_Read-Only
  1. Подтвердите, что все работает:

gdalinfo --formats | grep -i ecw

Вы должны получить что-то вроде


    ECW (rw+): ERDAS Compressed Wavelets (SDK 5.3)
    JP2ECW (rw+v): ERDAS JPEG2000 (SDK 5.3)
  1. Теперь вы можете запустить QGIS для импорта файлов ECW на растровом слое.

Очень скоро я смогу сообщить о том, как это работает на 64-битной Ubuntu 16.04, но, пожалуйста, прокомментируйте или отредактируйте этот ответ, если вы уже это сделали.

carnendil
источник
Какую версию GDAL вы использовали, и есть ли необходимость в пакетах Ubuntugis?
AndreJ
У меня давно были установлены репозитории ubuntugis и qgis, поэтому я не совсем уверен, какие пакеты, если они есть, требуются от ubuntugis. Что касается версии GDAL, то, оказывается, я gdal-bin 1.10.0-1~precise2установил 2012-03-15, libgdal1-1.7.0 1.7.3-6ubuntu3установил 2012-05-09 и т. Д., libgdal-ecw-srcБыл установлен, очевидно, совсем недавно, и это версия 1.10.0.
Карнендил
Таким образом, вам не повезет в новой, чистой системе, поскольку вы получаете GDAL 2.1.0 по умолчанию, но libgdal-ecw-src недоступен для чего-то более нового, чем GDAL 1.10, если быть точным. Я сделал обходной путь для верных и GDAL 1.11 на gis.stackexchange.com/questions/94870/… , но этому уже не хватает поддержки Python,
AndreJ