我正在尝试使用跨管理区域的生物量数据的 gstat 包计算 R 中的变异函数。生物量数据是分辨率为 3.5 英尺或 1.0668m 的栅格数据集。我传递给 variogram 函数的 spatialpointsDataFrame 的大小为 18.6 Mb(814223 个元素)。(我也尝试过 spatialpixelsDataFrame,但它不喜欢 1.0668m 像素大小)。当我运行代码时:
v = variogram(ras.grid1@data[[1]]~1, data = ras.grid1)
并查看输出“v”,我得到的距离值远大于管理区域(并且远大于对角线长度的 1/3)。
当我在较小的管理单元(40 公顷)上运行变异函数函数时,它给出了我期望的结果(这是使用大小为 7.9 Mb 和 344259 个元素的 SpatialPointsDataFrame)。
如果我将截止值硬编码为更小,初始较大的栅格数据集为 200m,它再次提供我期望的距离值。如果我尝试增加距离,让我们再次说 600m,它提供的距离值远大于指定的 600m 截止值。300m 也提供了意想不到的结果。例如:
####variogram computation with 200m cutoff....It works
v = variogram(ras.grid1@data[[1]]~1, data = ras.grid1, cutoff=200)
v
np dist gamma dir.hor dir.ver id
1 195954282 8.874169 4990.504 0 0 var1
2 572500880 20.621626 5627.534 0 0 var1
3 958185761 33.701344 5996.423 0 0 var1
4 1288501796 46.920392 6264.396 0 0 var1
5 1652274803 60.198360 6472.187 0 0 var1
6 1947750363 73.502011 6642.960 0 0 var1
7 2282469596 86.807781 6802.124 0 0 var1
8 2551355646 100.131946 6942.277 0 0 var1
9 2849678492 113.441335 7049.838 0 0 var1
10 3093057361 126.751400 7149.102 0 0 var1
11 3375989515 140.081110 7240.848 0 0 var1
12 3585116223 153.418095 7322.990 0 0 var1
13 3821495516 166.721460 7394.616 0 0 var1
14 4036375072 180.053643 7443.040 0 0 var1
15 4235205167 193.389119 7476.061 0 0 var1
####variogram computation with 600m cutoff....It returns unexpected
####distance values
v2 = variogram(ras.grid1@data[[1]]~1, data = ras.grid1, cutoff=600)
v2
np dist gamma dir.hor dir.ver id
1 1726640923 26.54691 5759.951 0 0 var1
2 593559666 510.62232 53413.914 0 0 var1
3 3388536438 229.26702 15737.659 0 0 var1
4 1464228507 966.36789 49726.788 0 0 var1
5 3503141163 623.13559 25680.965 0 0 var1
6 878031648 3454.21122 117680.266 0 0 var1
7 2233138601 1761.91799 50996.719 0 0 var1
8 3266098834 1484.40162 37369.451 0 0 var1
9 4056578316 1420.49358 31556.527 0 0 var1
10 254561085 26030.66780 517601.669 0 0 var1
11 562144107 13256.59985 239163.649 0 0 var1
12 557621435 14631.84504 243476.857 0 0 var1
13 385648032 22771.12890 352898.971 0 0 var1
14 4285655256 2163.11091 31213.201 0 0 var1
15 3744542323 2575.19496 34709.529 0 0 var1
此外,如果我将数据缩放到 3m,我将再次获得预期的距离值。
我不确定是否是大尺寸的栅格数据集导致了问题以及我试图做的事情是不可能的,或者我做错了什么或者是否有其他方法?
感谢您的帮助和兴趣。