使用plot_tiltedmaps绘制栅格图无显示,按教程操作仍异常
plot_tiltedmaps生成空图表的排查方向
下面是针对你遇到的空图表问题的几个排查点:
先确认栅格是否正确加载
加载完栅格后,执行print(pop)和print(agbh)看看输出的栅格信息是否正常。如果wd路径写错、文件不存在或者tif文件损坏,rast()会返回空对象,后续处理自然出不了图。检查tilt_map的偏移参数是否过大
你设置的x_shift和y_shift数值(25/50、50/100)可能太大,导致倾斜后的栅格直接跑出了绘图区域。可以先把偏移值改小试试,比如x_shift=5, y_shift=10,或者干脆去掉这两个参数,只保留y_tilt,看能不能正常显示。另外parallel=TRUE在小数据场景下可能出问题,先改成parallel=FALSE排除并行的影响。验证调色板是否可用
确认"tofino"和"rocket"是不是layer库支持的调色板,或者是不是需要额外装其他配色包。可以先换成基础的配色,比如palette=c("viridis", "magma")测试能不能渲染出颜色。检查两个栅格的空间属性是否匹配
原始的pop和agbh栅格的范围、分辨率得一致,不然倾斜后图层对不齐,绘图时就会显示空白。用compareGeom(pop, agbh)检查两者的空间属性,不一致的话先做重采样或者裁剪,把范围统一。
你的代码整理如下:
# install.packages("remotes") remotes::install_github("marcosci/layer") library(layer) library(terra) wd <- "path/" pop = rast(paste0(wd, "pop.tif")) agbh = rast(paste0(wd, "agbh.tif")) pop <- tilt_map(pop, y_tilt = 3, x_shift = 25, y_shift = 50, parallel = TRUE) agbh <- tilt_map(agbh, y_tilt = 3, x_shift = 50, y_shift = 100, parallel = TRUE) map_list <- list(pop, agbh) plot_tiltedmaps(map_list, palette = c("tofino", "rocket"), direction = c(-1, 1))
内容的提问来源于stack exchange,提问作者Nikos
相关产品推荐
相关产品推荐

