Как загрузить .tif растровые файлы в R

#r #tiff #magic-numbers

#r #tiff #magic-числа

Вопрос:

В настоящее время я работаю над некоторыми растровыми моделями. Мой код сгенерировал около моделей 4k (все файлы .tif), но около 10% из них невозможно открыть с помощью load("insert path") . Я пробовал readr() , readRDS() и source() , ни один из которых не сработал. Я также перезапустил некоторые модели, но это не решило проблему. Почему я не могу загрузить свои файлы .tif?

 load("comparison/mc45bi50/ni1130region33.tif")
  

Ошибка при загрузке («сравнение /mc45bi50/ni1130region33.tif»): ошибка
восстановить магический номер файла (файл может быть поврежден) — данные не загружены в
дополнение: Предупреждающее сообщение: файл ‘ni1130region33.tif’ имеет магический номер
‘II*’ Использование сохраненных версий до 2 не рекомендуется

 source("comparison/mc45bi50/ni1130region33.tif")
  

Ошибка в исходном коде («сравнение /mc45bi50/ni1130region33.tif»):

сравнение/mc45bi50/ni1130region33.tif:2:0: неожиданный конец ввода 1:
II*

Ответ №1:

Вы должны использовать raster библиотеку. В нем есть raster() функция, которая должна прочитать ваш файл .tif.

Например, создаем растр самостоятельно и сохраняем его на диске, затем пытаемся прочитать:

 library(raster)
#> Loading required package: sp

## create raster
r <-  raster(ncols=3, nrows=3)
r[] <- 1:9

# save to disk
tmp <- paste(tempdir(), "myraster.tif", sep = "/")
writeRaster(r, tmp)

## read now
r <- raster(tmp)