Проблема при экспорте карты кригинга как Растр - PullRequest
0 голосов
/ 08 сентября 2018

Я создал карту кригинга, которая была создана с использованием функций kriging () и image () пакета kriging (таблица - это данные с координатами и значениями):

krig <- kriging(table@coords[ ,1], table@coords[ ,2], response = table@data$Joined.l_8, model = "spherical", lags = 3, pixels = 100)
krig_raster <- image(krig, main = NULL, xlab = "X coords", ylab = "", col = heat.colors(100))

Результат можно посмотреть на картинке.

enter image description here

Моя проблема в том, что я не могу экспортировать эту карту как растр. При использовании следующей команды растрового пакета:

writeRaster(krig_raster, "/home/stathis/Desktop/test.tif", format="Gtiff", overwrite = TRUE)

Я получаю следующую ошибку:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘writeRaster’ for signature ‘"NULL", "character"’

1 Ответ

0 голосов
/ 08 сентября 2018

Когда вы делаете:

 krig_raster <- image(krig, main = NULL, xlab = "X coords", ylab = "", col = heat.colors(100))

он строит изображение и возвращает NULL, поэтому writeRaster пытается записать NULL и выдает ошибку, сообщающую именно это. Вам необходимо сначала преобразовать вывод из kriging в растровый объект. Чтение в документах для kriging говорит мне, что выходные прогнозы находятся в части $map возвращаемого объекта и в формате трех столбцов, которые должны быть в порядке для ввода в raster::rasterFromXYZ. Если я использую пример в ?kriging и сделаю это с объектом kriged:

> r = rasterFromXYZ(kriged$map)
> plot(r)

Я вижу график объекта класса растров США, который я могу затем сохранить, используя writeRaster через writeRaster(r, "usa.tif")

В качестве примечания я бы с осторожностью использовал функцию кригинга, которая не возвращает прогнозных отклонений, или позволил бы вам сначала изучить вариограмму, прежде чем продолжить - проверьте пакет gstat для более тщательных процедур кригинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...