У меня возникают проблемы с получением python 2.7 для выполнения этой формулы. Его цель - преобразовать значения Landsat 7 DN в значения отражения. b1 ссылается на изображение band1 TIFF.Неподдерживаемый тип (ы) операнда в формуле
L_B1 = float(((LMax_B1 - LMin_B1)/(QCALMax_B1 - QCALMin_B1)) * (b1 - QCALMin_B1) + LMin_B1)
Сообщение об ошибке я получаю это:
Runtime error
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'unicode' and 'unicode'
Это, как представляется, не нравится -/*. Я импортировал математику.
Любая помощь будет оценена по достоинству.
Привет, Йоханнес, справа мои переменные были строками, но я поменял их на флоат при их создании. Я сделал так, как вы сказали относительно добавления float, но я получаю TypeError: float() аргумент должен быть строкой или числом – Simon
Возможно, не все ваши переменные являются строками unicode. Не могли бы вы просто напечатать все переменные или даже лучше: тип печати (QCALMax_B1)? –
Результат - тип float. Однако b1 - это список. [u'LE71460402013077PFS00_B1.TIF '] Так вот в чем проблема. B1 должен ссылаться на изображение полосы 1, на которое я хочу выполнить вычисления. Я не знаю, как это сделать. Должен ли я использовать другой модуль? – Simon