调整绘图输出大小会导致栅格和点变得不对齐

时间:2015-02-06 17:20:36

标签: r gis

如果我使用plot()绘制GIS光栅图像,则使用points()在图像上添加一些点:例如。以下代码

in_rast_str <- "PET_eclp.tif"
in_rast <- raster(in_rast_str)
selected_cells <- choose_points(in_rast_str,10,30)
plot(in_rast)
points(selected_cells[,1],selected_cells[,2])

初始输出正确呈现。但是,如果我然后在导出窗口或RStudio的缩放窗口中调整绘图的大小,则点和底层光栅相对于彼此移位并变得不对齐。

这是RStudio或R的问题吗? 我猜这可能是一个错误,而不是我做的事情显然是错误的。

更新...

以下是一些例子: original plot

和相同的情节,但调整大小

enter image description here

1 个答案:

答案 0 :(得分:2)

raster的这个问题多年来一直困扰着我。

这并不能完全回答您的问题,但rasterVis提供了一个非常令人满意的(对我而言)解决方法。

library(rasterVis)
r <- raster(matrix(runif(100), 10))  
xy <- xyFromCell(r, which(values(r) > 0.9))

levelplot(r, margin=FALSE) + layer(sp.points(xy, pch=20, cex=2, col=1))

enter image description here

根据需要调整大小和缩放范围 - 这些点会粘在正确的单元格上。