У меня есть цветной растр RGB обозначающий высоты местности (пример):

Растр содержит 113 цветов, каждый из которых соответствует определенной высоте местности.
В зависимости от проекта диапазон высот может меняться. К примеру я делаю проект местности с высотой от 0 до 150 метров. (синий цвет - 150 метров, красный 0 метров).
Я знаю значения RGB каждого цвета и соответствующая ему высоту например:
MaxElevation="15.93" red="0" blue="222" green="125" MinElevation="14.6" или
0 222 125 15,93 14,6 (без разницы какой формат, смогу сделать любой)
Задача получить DEM модель или GeoTiff с картой высоты чтобы ее можно было использовать в любом другом софте.
Для себя пока выработал следующий алгоритм:
1. Делаю из RGB с помощью специального алгоритма grayscale.
2. Привязываю карту к местности с помощью Georeferencer.
3. Создаю контуры произвольных высот с шагом например 10 с помощью Raster - Extraction - Contour.
4. В Attribute Table полученного слоя преобразовываю значения высот в поле ELEV в нужный диапазон (например я получил значения поля ELEV от 30 до 1150, преобразовал их в диапазон значений от 0 до 150).
5. Далее с помощью Raster - Analysis - Grid (Interpolation) делаю нужный мне файл.
У меня вопрос, а нет ли способа попроще.
Спасибо.