Когда я пытаюсь добавить tif-файлы с географической привязкой к своим ggplots в R, я столкнулся с кажущейся странной проблемой со слотами: после загрузки растрового файла с помощью raster()
я могу ' t достигает своего colortable
-слота:
>> Возьмите пример tif-файла ‹<:
raster1 <- raster(paste(workingDir, "/HUEK200_Durchlaessigkeit001_proj001.tif", sep="", collapse=""))
raster1@colortable #or
slot(raster1, "colortable")
Две последние строки shoudl работают одинаково, но обе приводят к сообщению об ошибке:
Error in slot(raster1, "colortable") :
no slot of name "colortable" for this object of class "RasterLayer"
Это сбивает с толку, потому что при небольшом взгляде на атрибуты через attributes(raster1)
четко указывается именно этот слот:
Slot "colortable":
[1] "#FFFFFF" "#000000" "#B49ED7" "#9B7DCF" "#9EAAD7" "#B2BEEB" "#B4EBB4"
[8] "#F5E1B5" "#CCB792" "#B9A08C" "#0070FF" "#0000C8" "#F8F8F8" "#DBF5FF"
[15] "#B14D00" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[22] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[29] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[36] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[43] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[50] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[57] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[64] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[71] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[78] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[85] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[92] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[99] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[106] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[113] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[120] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[127] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[134] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[141] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[148] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[155] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[162] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[169] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[176] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[183] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[190] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[197] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[204] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[211] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[218] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[225] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[232] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[239] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[246] "#000000" "#000000" "#000000" "#000000" "#000000" "#000000" "#000000"
[253] "#000000" "#000000" "#000000" "#000000"
Это я вообще делаю что-то не так, или это может быть ошибка? И как мне наконец получить доступ к раскрашиванию? Из звонка plot(raster1)
я знаю, что это должно работать, потому что график отображает правильный набор цветов. Более того: Обычно S4object@someslot
-подход отлично работает для меня при управлении пространственными полигональными объектами.
РЕДАКТИРОВАТЬ: рядом с colortable
такая же ошибка появляется при попытке доступа к спискам других слотов attributes(raster1)
.
Спасибо за вашу помощь!