首页 > 解决方案 > 如何根据土地覆盖计算R中的散点图?

问题描述

我有两个栅格:

raster1
    class      : RasterLayer 
band       : 6  (of  6  bands)
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : XXXX
names      : GPP
values     : 0, 435.5 (min, max)

raster2
class      : RasterLayer 
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : memory
names      : GPP
values     : 0, 506.4  (min, max)

我想根据土地覆盖在这两个栅格之间绘制散点图。我的土地覆盖栅格文件是:

landcover
class      : RasterLayer 
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : XXXX 
names      : landuse
values     : 1, 12  (min, max)

我如何绘制变量 GPP 的 raster1 和 raster2 之间的散点图,例如常绿森林的土地覆盖,它由“土地覆盖”的光栅文件中的值 1 表示。

标签: rraster

解决方案


第一步是根据您确定的土地利用对每个栅格进行子集化。然后你可以直接绘制它们:

plot(raster1[landcover==1],raster2[landcover==1])


推荐阅读