我想知道如何根据特定颜色的矩阵编写 GTiff?这可能是当颜色不代表定量变量,而是定性空间现象(例如人口统计集群)时。例如,如果我有一个 1000x1000 的颜色值矩阵(字符串,如 '#FF0000'),我可以轻松地绘制这些值,grid.raster(mtrx, interpolate=FALSE)
但这很难与其他 shapefile 重叠。我还可以将它们转换为 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)