plot_results breaks with error
plot_results(inPath=outPath)
often does not work and gives the error
Error in as.data.frame.default(x) :
cannot coerce class 'structure("RasterStack", package = "raster")' to a data.frame
I tried it in many different ways (jupyter-lab, console, Rstudio; with installed HaSa or from a freshly pulled HaSa-directory and even on the Rstudio Server with HaSa1.3.1 installed) but it was almost always the same error. I think the problem comes from line 100 in plot_results.r:
modelHS <- merge(class[[1:(numberHabitats + 1)]])
The strange thing is now, when I run the code of plot_results.r manually (without the function) through console, it works.
But there is also another error in the final_habitat_map.tif, which I think is related to the error mentioned above.
Namely the not classified pixels which should be an extra class (e.g. you have 9 classes they should appear as 10 in the final_habitat_map.tif) are tagged as inf which leads to "holes" in the map.
When the error appears the variable "dummy" (line 86.., in plot_result.R) has already inf as value for the "not assigned" pixels in the raster.
for (i in 1:(length(files) + 1)) {
if (i == (length(files) + 1)) {
dummy <- raster::raster(files[(i - 1)])
dummy[dummy < thres[(i - 1)]] <- i
dummy[dummy >= thres[(i - 1)]] <- NA
class[[i]] <- dummy
} else {
dummy <- raster::raster(files[i])
dummy[dummy < thres[i]] <- NA
dummy[dummy >= thres[i]] <- i
class[[i]] <- dummy
}
}
Right now I can't see a pattern, when the errors appear. Sometimes they are both there sometimes only one of them.