Интересно, как можно написать GTiff на основе матрицы определенных цветов? Это может быть, когда цвета представляют не количественную переменную, а скорее качественные пространственные явления, такие как демографические кластеры. Если у меня есть, например. матрица значений цвета 1000x1000 (строки символов, такие как «# FF0000»), я могу легко построить их с помощью grid.raster(mtrx, interpolate=FALSE)
, но это трудно наложить на другие шейп-файлы. Я также могу преобразовать их в SpatialPixelsDataFrame с именами полей «x», «y», «col». Но я не понимаю, как записать любой из этих объектов в GTiff. Например:
writeGDAL(SPDF, 'test.tif', drivername = "GTiff", colorTables=x$col)
урожаи
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function ‘gridded’ for signature ‘"data.frame"’
Очень благодарен за любые указатели.
Пример:
require(sp)
require(rgdal)
mtrx = matrix(rgb(runif(10000), runif(10000), runif(10000)), ncol=100)
spdf = data.frame(x=rep(1:100,100), y=rep(1:100,each=100), col=as.vector(mtrx))
plot(spdf[,1:2], col=spdf$col, pch=15)
spdf = SpatialPixelsDataFrame(points=spdf[,1:2], data=spdf)
writeGDAL(spdf, 'test.tif', drivername = "GTiff", colorTables=spdf$col)