Страница 1 из 1

Ошибка при открытии растра (мал. число задаваемых классов)

Добавлено: 28 дек 2016, 14:02
Natalia Novoselova
При конвертировании растра из формта netcdf уже во втором случае вижу такую ошибку. Растр (tif) открывается в ArcGIS, сохраняя (как думаю) правильные значения переменной в каждом пикселе (что можно понять через Identify instrument при клике на разные пикселы). Но при этом в растре нельзя задать число классов (Properties > Classidied) больше 2 (в одном случае) и 3 в другом. При выборе большего числа классов – система сама скидывает на 2 или 3.
Это лишает возможности построить карту и это явно ошибка. В чем может быть дело? Что вообще может быть не так в растре, что может давать такую ошибку?
Как ее решить?

Приложен – один такой растр (наиболее правильный – с привязкой, получен из конвертирования в tif готового продукта). Для него нельзя задать число классов больше 3.
С ним еще одна странность, при архивировании в zip он почему-то очень сильно уменьшается в размерах С 674 мб до 922 kb. Поэтому могу его приложить прямо к теме. Может быть это как-то связано. Со вторым растром такого нет.

Re: Ошибка при открытии растра (мал. число задаваемых классо

Добавлено: 28 дек 2016, 18:04
Игорь Белов
Вероятно, значение NODATA не соответствует действительности: фоновое значение -999.0, а в тэгах -3.40282299999999995e+38. Надо исправить NODATA:

Код: Выделить всё

gdal_edit.py -a_nodata -999 soilmoisture.tif
Если и теперь ArcGIS упирается, смените тип данных на целочисленный:

Код: Выделить всё

gdal_translate -ot Byte -of GTiff -scale 9.5423779100656e-08 0.85025954246521 1 255 -a_nodata 0 -co COMPRESS=LZW soilmoisture.tif soilmoisture8.tif

Re: Ошибка при открытии растра (мал. число задаваемых классо

Добавлено: 28 дек 2016, 18:47
Natalia Novoselova
Игорь Белов писал(а):Вероятно, значение NODATA не соответствует действительности: фоновое значение -999.0, а в тэгах -3.40282299999999995e+38. Надо исправить NODATA:

Код: Выделить всё

gdal_edit.py -a_nodata -999 soilmoisture.tif
Если и теперь ArcGIS упирается, смените тип данных на целочисленный:

Код: Выделить всё

gdal_translate -ot Byte -of GTiff -scale 9.5423779100656e-08 0.85025954246521 1 255 -a_nodata 0 -co [/quote]

Спасибо, дело было в этом!

Помимо операции через консоль, эту операцию я сделала и через ArcMap. Пересохранив растр (Data> Export Data) и задав значание NODATA = -999.0.
Новый растр - имеет возможность классификации.