Я хочу обрезать большие файлы геотипов (4 полосы RGBA) на более мелкие плитки. Функция brick
в растровом пакете используется для чтения растрового файла, а writeRaster
используется для записи на диск. Однако я не могу открыть новый файл с помощью средства просмотра изображений. Это вызвано отсутствием тегов ColorInterp. IСохраните растровый кирпич в геотип, который может просматривать просмотрщик изображений
a <- brick(old.tif)
writeRaster(a, filename = new.tif)
Сравните Tiff тег в old.tif и new.tif. Тег BitsPerSample равен 8 для old.tif и 64 для new.tif. Поэтому я обновил dataType в растровом виде до INT1U
, который должен был 0-255
.
dataType(a) <- 'INT1U'
writeRaster(a, filename = new.tif, dataType = 'INT1U')
Однако тег BitsPerSample по-прежнему равна 64. Мой текущий вопрос, как я должен указать BitsPerSample в 8.
PS: Этот код не работает слишком
writeRaster(a, filename = new.tif, dataType = 'INT1U', BitsPerSample = 8)
PPS: writeTIFF
может генерировать видимый tiff-файл без информации crs.
Сравните тег tiff из старого и нового файла. Новый файл имеет BitsPerSample (4 Short): 64, 64, 64, 64, который должен быть 8. – Bangyou
Некоторые зрители изображений неправильно интерпретируют многополосные TIFF, особенно если тип данных выше 8-битного без знака. Что вы используете? Попробуйте открыть его в QGis или аналогичном. – Benjamin
Я понимаю, что изображение можно посмотреть в QGis и другом программном обеспечении. Но мой оригинальный файл tif - RGBA и может быть просмотрен любым зрителем изображений. Просто хочу создавать новые изображения с тем же 8-битным. – Bangyou