levelplot 绘制了错误的分类颜色
levelplot plots the wrong categorical colours
我收到了一个 .tif 文件和一个 .qml 文件,其中包含每个值的颜色信息(例如,森林是绿色的,云是黑色的)。
library(raster)
library(rasterVis)
sm <- raster("UT_classification_coded.tif")
########## Classify raster / build attribute table
sm <- ratify(sm)
rat_sm <-levels(sm)[[1]]
# Create categories
rat_sm$landcover <- c('Forest', 'Active vegetation', 'Senescent vegetation', 'Disturbed', 'Rice flooded', 'Rice growing', 'Settlement', 'Water', 'Cloud', 'Cloud shadow', 'Forest')
levels(sm) <- rat_sm
##### plot the colours using the .qml file
levelplot(sm, col.regions=c("#00b144", "#00ff00", "#ffc0a0", "#00ebeb", "#86b1ec", "#de57ff", "#ffff00", "#0000ff", "#000000", "#000000", "#008000"), xlab=NULL, ylab=NULL, scales=list(draw=FALSE), maxpixels=6e6)
问题是 levelplot
"believes" 土地利用类别(森林、水稻淹没等)的字母顺序是倒序的,颜色也是如此。因此,颜色被分配到错误的类别。例如,最后三种颜色(“#000000”、“#000000”、“#008000”)分配给水体、聚落、场景植被。
感谢任何关于解决此问题的建议(除了以相反的字母顺序绘制颜色,这很乏味,因为 .qml 文件不是这样显示信息的)。
编辑:这是 .tif 文件的描述
class : RasterLayer
dimensions : 10981, 10981, 120582361 (nrow, ncol, ncell)
resolution : 10, 10 (x, y)
extent : 299993, 409803, 9190235, 9300045 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=18 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : C:\Users\Documents\UT_classification_coded.tif
names : UT_classification_coded
values : 1, 15 (min, max)
我已承诺 changes in the code 解决此问题。请尝试软件包的开发版本:
## install.packages('remotes')
remotes::install_github('oscarperpinan/rasterVis')
我收到了一个 .tif 文件和一个 .qml 文件,其中包含每个值的颜色信息(例如,森林是绿色的,云是黑色的)。
library(raster)
library(rasterVis)
sm <- raster("UT_classification_coded.tif")
########## Classify raster / build attribute table
sm <- ratify(sm)
rat_sm <-levels(sm)[[1]]
# Create categories
rat_sm$landcover <- c('Forest', 'Active vegetation', 'Senescent vegetation', 'Disturbed', 'Rice flooded', 'Rice growing', 'Settlement', 'Water', 'Cloud', 'Cloud shadow', 'Forest')
levels(sm) <- rat_sm
##### plot the colours using the .qml file
levelplot(sm, col.regions=c("#00b144", "#00ff00", "#ffc0a0", "#00ebeb", "#86b1ec", "#de57ff", "#ffff00", "#0000ff", "#000000", "#000000", "#008000"), xlab=NULL, ylab=NULL, scales=list(draw=FALSE), maxpixels=6e6)
问题是 levelplot
"believes" 土地利用类别(森林、水稻淹没等)的字母顺序是倒序的,颜色也是如此。因此,颜色被分配到错误的类别。例如,最后三种颜色(“#000000”、“#000000”、“#008000”)分配给水体、聚落、场景植被。
感谢任何关于解决此问题的建议(除了以相反的字母顺序绘制颜色,这很乏味,因为 .qml 文件不是这样显示信息的)。
编辑:这是 .tif 文件的描述
class : RasterLayer
dimensions : 10981, 10981, 120582361 (nrow, ncol, ncell)
resolution : 10, 10 (x, y)
extent : 299993, 409803, 9190235, 9300045 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=18 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : C:\Users\Documents\UT_classification_coded.tif
names : UT_classification_coded
values : 1, 15 (min, max)
我已承诺 changes in the code 解决此问题。请尝试软件包的开发版本:
## install.packages('remotes')
remotes::install_github('oscarperpinan/rasterVis')