zoukankan      html  css  js  c++  java
  • 理解R语言gdistance包下的transition函数

    library(raster)
    library(gdistance)
    r <- raster(nrows=3, ncols=4, xmn=0, xmx=7, ymn=0, ymx=6, crs="+proj=utm +units=m")
    r[] <- c(2, 2, 1, 1,
             2, 2, 4, 4,
             2, 1, 1, 4)
    par(mar=c(2,2,2,2))
    plot(r)
    text(r)

    那么如果我们要求算四个方向上的平均值,注意是四个方向上的,不是8个方向的。

    T <- transition(r, function(x) mean(x), 4,symm=F)
    plot(raster(T))

    text(raster(T), digit=2)

    对于左上角的结果值是如下计算的,2= (mean(c(2,2))+mean(c(2,2)))/2得到的,1.83 = (mean(c(2,2))+mean(c(2,2))+mean(c(2,1)))/3得到的,

    1.67 = (mean(c(1,2))+mean(c(1,4))+mean(c(1,1)))/3,其他的都是可以这样推出来的。

    那么如下的运算,得到的结果如何解释呢

    am = function(x) max(x)
    T <- transition(r,am, 4,symm=F)


    为方便,左图为原始图层,显然右侧的值可以计算如下

    左上角的2 = (max(c(2,2) + max(c(2,2))/2;

    第一行第二列的2 =(max(c(2,2)) + max(c(2,2)) + max(c(2,1)))/3

    第一行第三列的2.33 = (max(c(1,2) + max(c(1,4)) + max(c(1,1))))/3

     https://gis.stackexchange.com/questions/280593/understanding-the-values-from-transition-layers-produced-by-the-r-package-gdist

  • 相关阅读:
    iOS开发之静态库(二)—— .a
    iOS开发之静态库(一)—— 基本概念
    Linux中ctrl-c, ctrl-z, ctrl-d 区别
    JNI技术基础(1)——从零开始编写JNI代码
    开篇纪念
    java面试题
    jvm系列二之GC收集器
    jvm系列一
    ConcurrentHashMap源码剖析(1.8版本)
    博客系统对比
  • 原文地址:https://www.cnblogs.com/arcserver/p/9870494.html
Copyright © 2011-2022 走看看