2016-11-30 6 views
1

Ich habe einen RasterBrick enthält eine RGB-Karte zu Graustufen:Convert RGB RasterBrick

class  : RasterBrick 
dimensions : 2400, 4200, 10080000, 3 (nrow, ncol, ncell, nlayers) 
resolution : 100, 100 (x, y) 
extent  : 480000, 9e+05, 62000, 302000 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +units=m +no_defs 
data source : /Users/mnowak/Dropbox (sotomo)/sotomo_projekte/03 Umfragen/99_Werkzeuge/02_R/GIS/karten/2012/swisstopo_100.tif 
names  : swisstopo_100.1, swisstopo_100.2, swisstopo_100.3 
min values :   20.68,   26.00,   35.00 
max values :    255,    255,    255 

Ich mag würde zu Graustufen konvertieren R. mit

Weiß jemand, ob es eine Funktion ist, die kann RGB-Steine ​​in Graustufen konvertieren?

Danke für jede Hilfe.

Antwort

2

Nun fand ich einen Weg:

library(tmap) 
gray_raster <- (colour_raster$colour_raster.1 + colour_raster$colour_raster.2 + colour_raster$colour_raster.3)/3 

colors <- gray.colors(255, start = 0.3, end = 0.9, gamma = 2.2, alpha = NULL) 
gray_raster <- brick(gray_raster) 
tm_shape(gray_raster) + tm_raster(palette = colors, auto.palette.mapping = F, n = 255, legend.show = F) 

Sie können nur den Durchschnitt der drei Farbbänder bauen und dann mit einem grauen Farbschema enthält 255 Farben zeichnen.