2016-03-03 64 views
3

我想知道是否有可能將特定顏色分配給r中柵格的單元格。如何將特定顏色轉移到r中的柵格

我知道包「光柵」中的「光柵化」允許將給定值的座標值傳遞給光柵。但是,我想知道是否可以將一種顏色轉移到單元的特定位置?

總之,我有一個給定的柵格和一個外部數據庫有三列(x,y和顏色)。我想將第三列中的顏色轉移到x-y位置柵格中的單元格。

這是代碼,我有:

library(raster) 

BaseRaster<-raster(xmn=1, xmx=4, ymn=1, ymx=4,resolution=1) #create an empty raster 

Database<-data.frame(Xcols=c(1.5, 2.5,3.5, 1.5, 2.5,3.5, 1.5, 2.5,3.5) , 
Ycols= c(1.5, 1.5,1.5, 2.5, 2.5,2.5, 3.5, 3.5,3.5), 
Cols=c("#FFF423","#FFFF14","#FFE20F","#FFF80A","#FFCB07","#FFE100","#FFEE0B","#FDEE0A","#FFE209")) 

的問題是我怎麼在數據庫中的柵格的第三列轉移的顏色,考慮到在1和2列提供的座標數據庫? 不幸的是,光柵化不勝任

ColorRaster= rasterize(c(Database$Xcols, Database$Ycols), BaseRaster, Database $Cols) 

回答

1

假設BaseRaster是您的光柵對象和數據庫有顏色下面應該工作:

plot(BaseRaster, col=colorRampPalette(database$color))(255) 

的更多信息,請參閱 plot{raster}

+0

感謝維沙爾。我嘗試了你的代碼,但是我得到了下面的錯誤:「沒有與這個RasterLayer關聯的值」 – Camilo

+0

如果填充柵格的值爲1(如:BaseRaster [] = 1)然後運行你的代碼,錯誤:「col [x]中的錯誤:'closure'類型的對象不可子集化」 – Camilo

+0

這不是您如何創建柵格Camilo。 嘗試BaseRaster < - as.raster(矩陣(HCL(0,80,SEQ(50,80,10)),nrow = 4,NcoI位= 5)) 更多關於光柵幫助: https://開頭stat.ethz.ch/R-manual/R-devel/library/grDevices/html/as.raster.html –

相關問題