Пакет GDAL с программой на Java - PullRequest
0 голосов
/ 04 июня 2019

Попытки Java-программы

В Windows есть программа, которая вызывает двоичные файлы GDAL.Я правильно установил GDAL, PYTHON и т. Д., Чтобы дать мне беспроблемный опыт.Когда я использую

ProcessBuilder pb = new ProcessBuilder("gdal_translate","-ot","Float32","-of","ENVI","b","1","abc.tif","def.bin");

, я получаю необходимый вывод.Но настройка PATH - нетривиальный процесс для неопытного пользователя компьютера.Для этого я намерен объединить двоичный файл GDAL при распространении вышеупомянутой программы.,Итак, я включил его в тот же каталог, что и программа.

Я попытался вызвать ту же команду следующим образом,

ProcessBuilder pb = new ProcessBuilder(path+"\\gdal\\bin\\gdal\\apps\\gdal_translate","-ot","Float32","-of","ENVI","b","1","abc.tif","def.bin");

, где path - это переменная, указывающая на двоичные файлы, скопированные вкаталог проекта.

С некоторым произвольным кодом выхода произошел сбой.


Попытки командной строки

Итак, я попытался запустить коднепосредственно в командной строке, где сначала я обнаружил ошибку, что конкретный gdal300.dll не может быть найден.Итак, я скопировал необходимый dll в gdal\bin в gdal\bin\gdal\apps\.С этим я получил ошибку, так как некоторые другие DLL отсутствуют.Чтобы решить эту проблему и избежать дальнейших проблем с dll, я уничтожил проблему, скопировав все dll, присутствующие в gdal\bin, в gdal\bin\gdal\apps\.

Теперь программа выдала следующий вывод.proj.db not found

Полагаю, я не могу продолжать копировать отсутствующие файлы в папку bin.


Требования к решению

  1. Использовать GDAL без указания PATH в Windows.

Другоесвязанный с этим вопрос

Упаковка GDAL с Java

Этот вопрос не решает мою проблему напрямую (так как решение зависит от Linux) Кроме того, я хотел бычтобы не манипулировать глобальными путями, лучше использовать gdal только для этой программы.

...