我完全是在stackoverflow上提问的新手,对R(和编程)也不太熟悉,所以请耐心等待。我有物种分布的ASCII文件,只显示存在情况。经过搜索互联网的各个角落,我已经成功上传、转换为栅格、沿着所需边界(在我的情况下是澳大利亚的海岸线)进行掩蔽,并将它们绘制出来,以便我可以在未投影的地图上可视化这些范围。
完成了定性方面的工作后,我需要进行定量分析;也就是说,我需要计算物种之间的共域度。为了做到这一点,我首先需要计算重叠区域的面积,但在这方面我遇到了问题。以下是我到目前为止所做的事情:
完成了定性方面的工作后,我需要进行定量分析;也就是说,我需要计算物种之间的共域度。为了做到这一点,我首先需要计算重叠区域的面积,但在这方面我遇到了问题。以下是我到目前为止所做的事情:
> d
class : RasterLayer
dimensions : 85, 270, 22950 (nrow, ncol, ncell)
resolution : 0.08, 0.08 (x, y)
extent : 119.4993, 141.0993, -36.65831, -29.85831 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 2, 2 (min, max)
> b
class : RasterLayer
dimensions : 140, 222, 31080 (nrow, ncol, ncell)
resolution : 0.08, 0.08 (x, y)
extent : 134.2456, 152.0056, -40.44268, -29.24268 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 2, 2 (min, max)
x<-resample(b,d,method="ngb")
y<-mask(x,d)
>y
class : RasterLayer
dimensions : 85, 270, 22950 (nrow, ncol, ncell)
resolution : 0.08, 0.08 (x, y)
extent : 119.4993, 141.0993, -36.65831, -29.85831 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 2, 2 (min, max)
y是d和b的重叠部分的栅格(当我试图在b上进行遮罩处理时,会出现提示错误,指出范围不同)。如何计算它的面积?raster包中的area()函数可以输出结果:
area(y)
class : RasterLayer
dimensions : 85, 270, 22950 (nrow, ncol, ncell)
resolution : 0.08, 0.08 (x, y)
extent : 119.4993, 141.0993, -36.65831, -29.85831 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 63.65553, 68.75387 (min, max)
我不确定该怎么处理这个问题。这是获取区域的好/准确/正确方法吗?为什么y和b之间的范围不同,但d和y之间相同?此外,area(y)的值的单位是什么?我想这些单位并不太重要,因为最终我会通过将重叠部分除以更严格物种的范围来取比率,但我很想知道以备将来参考。
如果这是一个愚蠢的问题,我很抱歉。我感激任何人可能有的意见。