0
Попытка этого из TextMate. Результаты показаны в конце. Если я копирую результат в терминал, он работает нормально. Наверное, что-то простое. Я сократил пути с ... в этом представленииВызов gdal из Ruby
#!/usr/bin/env ruby
require 'shellwords'
InputDirPath = ".../OrthoTIF-3bands/"
OutputDirPath = ".../Ortho-compressed/"
i = 0
Dir.foreach(InputDirPath) do |item|
next if item == '.' or item == '..'
i += 1
name = File.basename(item,"tif")
puts "\n#{i}. gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR #{InputDirPath.shellescape}#{item.shellescape} #{OutputDirPath.shellescape}/#{name}_Compressed.tif"
output = `gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR #{InputDirPath.shellescape}#{item.shellescape} #{OutputDirPath.shellescape}/#{name}_Compressed.tif`
puts output
end
--> 1. gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR .../OrthoTIF-3bands/Bradshaw_Mts.Ortho.tif .../Ortho-compressed//Bradshaw_Mts.Ortho._Compressed.tif
--> sh: gdal_translate: command not found
могли бы запустить его с дополнительным: 'путы \', который gdal_translate \ '- может быть, это не в вашем PATH? – stef
Пожалуйста, объясните, в чем проблема. Как есть, вы не задали вопрос, просто показали код и вывод. Что вы ожидаете от кода? Пожалуйста, прочитайте «[ask]» вместе со ссылками на этой странице, чтобы получить представление о том, что нам нужно. Кроме того, в Ruby 'InputDirPath' должно быть' INPUT_DIR_PATH' , а 'OutputDirPath' должно быть' OUTPUT_DIR_PATH'. Мы используем SNAKE_CASE для констант. –
Спасибо вам обоим. GDAL установлен в нестандартном (к этому относительному новичку) пути. /Library/Frameworks/GDAL.framework/Programs/gdal_translate. – Greg