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

理解R语言gdistance包下的transition函数的更多相关文章

  1. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  2. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  3. 安装R语言的包的方法

    安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA")  # 安装 TSA install.packages("TS ...

  4. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  5. R语言dplyr包初探

    昨天学了一下R语言dplyr包,处理数据框还是很好用的.记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法. #dplyr learning library(dplyr) #fil ...

  6. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  7. Java语言Lang包下常用的工具类介绍_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ...

  8. R语言扩展包dplyr笔记

    引言 2014年刚到, 就在 Feedly 订阅里看到 RStudio Blog 介绍 dplyr 包已发布 (Introducing dplyr), 此包将原本 plyr 包中的 ddply() 等 ...

  9. R语言rvest包网络爬虫

    R语言网络爬虫初学者指南(使用rvest包) 钱亦欣 发表于 今年 06-04 14:50   5228 阅读   作者 SAURAV KAUSHIK 译者 钱亦欣 引言 网上的数据和信息无穷无尽,如 ...

随机推荐

  1. python迭代-如何在一个for语句中迭代多个可迭代对象

    如何在一个for语句中迭代多个可迭代对象 问题举例 (1)某班学生期末考试成绩,语文,数学,英语分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分 (2)某年级有4个班,某次考试每班英语成绩分 ...

  2. 文件中间修改内容遇到OSEerror

    for i in f: 实际上是一直在调用 f.next() .(表明在交互模式下不能使用f.tell())从报错来看,是说 f.next() 方法被调用的时候,f.tell() 方法不可以被调用.

  3. 【JavaScript】常用的数据类型的处理方式

    写这篇文章的目的,是在学习过程中反复查找如何对这三种数据类型进行转换的方法,所以干脆总结在一起. 一.字符串 0.includes:string.includes(),查找当前string中是否包含某 ...

  4. WCF 基础框架

    WCF 基础框架: 1,契约:契约书一语个服务公共接口的一部分,一个服务的契约定义了服务端公开的方法,使用的传递协议,可访问的地址,传输的消息格式等内容,主要包括数据契约,消息契约,服务契约等. 2, ...

  5. nginx安装SSL证书,并强制跳转https访问

    网站最初是nginx代理80端口,实现http访问的.现在要安装SSL证书,使用https访问. 我的nginx根目录是/usr/local/nginx,将申请的SSL证书和key放在/usr/loc ...

  6. React(上)

    一.React基础 1.React模板 凡是使用JSX的地方,要加上type="text/babel".引用三个库react.js是React的核心库,react-dom.js提供 ...

  7. 2018.2.22 学习笔记 random模块及每日一练

    给你一个字符数,把它的每个字符之间加上一个空格,形成一个新字符串. 例如:I love FishC.  变成I   l o v e   F i s h C . 跟小甲鱼学编程 变成 跟 小 甲 鱼 学 ...

  8. Entity framework 绑定到Datagridview的添加删除修改

    Entity framework 绑定到Datagridview的添加删除修改 using System; using System.Collections.Generic; using System ...

  9. linux 运行级别 & 虚拟控制台

     7 个运行级别 #-停机(千万不要把initdefault设置为0) #-单用户模式 #-多用户,没有NFS #-完全多用户模式(标准的运行级) #-没有用到 #-X11(xwindow) #-重新 ...

  10. CCF CSP 201609-1 最大波动

    题目链接:http://118.190.20.162/view.page?gpid=T47 问题描述 试题编号: 201609-1 试题名称: 最大波动 时间限制: 1.0s 内存限制: 256.0M ...