Ошибка при использовании ratify: невозможно найти унаследованный метод для функции ‘nlayers’ для подписи ‘« растр »’ - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь визуализировать результаты контролируемой классификации многоспектрального изображения. Поэтому мне нужно использовать функцию «ратифицировать», которая не принимает предсказанные входные данные.

Я использую функцию классификации 'rpart'. Выходные данные - это модель, которую я использую для прогнозирования классов земного покрова для каждого пикселя изображения. Выходные данные функции «предвидение» будут входными данными «ратификации», первого шага в визуализации прогнозируемых классов земного покрова. Поскольку этот вывод относится к классу 'factor', я преобразовал его в растр (с as.matrix и as.raster), как это требуется для 'ratify'. Тем не менее я получаю сообщение о том, что класс объекта входных данных не поддерживается. Я также попытался поместить в фрейм данных матрицу и фактор отдельно.

prediction <- predict(object = model_5cl, newdata = cbind.data.frame(B2,
B3, B4, B5, B6, B7, B8a, B11, B12), type = "class")

library(rasterVis)
prediction_m <- as.matrix(prediction)
prediction_rst <- as.raster(prediction_m)
pr <- ratify(prediction_rst)

Вывод, который я получаю, выглядит следующим образом:

pr <- ратифицировать (предсказание_rst) Ошибка в nlayers (x) == 1: невозможно найти унаследованный метод для функции nlayers для подписи «Растр"»</p>

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

...