匹配两个光栅的分辨率

2024-01-07

我使用两个栅格,每个栅格具有不同的分辨率。我想知道是否有一种更有效的方法将较粗的光栅分辨率与较精细的光栅分辨率相匹配。现在我正在使用蒙版功能来节省一些时间,剪辑到正确的范围并更改分辨率:

library(raster)
#the raster template with the desired resolution        
r <- raster(extent(-180, 180, -64, 84), res=0.04166667) 
# set some pixels to values, others to NA
r <- setValues(r, sample(c(1:3, NA), ncell(r), replace=TRUE))

#load the raster 
lc_r1 <- raster(r)
res(lc_r1) <- 0.5
values(lc_r1) <- 1:ncell(lc_r1)
lc_r1
##class       : RasterLayer 
##dimensions  : 296, 720, 213120  (nrow, ncol, ncell)
##resolution  : 0.5, 0.5  (x, y)
##extent      : -180, 180, -64, 84  (xmin, xmax, ymin, ymax)
##coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
##data source : in memory
##names       : layer 
##values      : 1, 213120  (min, max)

#create the new finer resolution raster.
lc_r2 <- mask (lc_r1, r2)
Error in compareRaster(x, mask) : different number or columns

我也在尝试disaggregate函数于raster但我收到这个奇怪的错误!

lc_r2 <- disaggregate (lc_r1, nrows=3600 )
Error: !is.null(fact) is not TRUE

这似乎暂时有效,但不确定是否正确:

lc_r2 <- disaggregate (lc_r1, fact=c(12,12 ), method='bilinear')

为什么会这样Error: !is.null(fact) is not TRUE奇怪吗?如果你看?disaggregate你会发现没有争论nrows,但有一个必需的参数fact,您没有提供。

你可以做

lc_r2a <- disaggregate (lc_r1, fact=12)

Or

lc_r2b <- disaggregate(lc_r1, fact=12, method='bilinear')

这相当于

lc_r2c <- resample(lc_r1, r)

为什么你不确定这是否正确?

但是,鉴于您想要屏蔽lc_r1,合乎逻辑的方法是采取相反的方向并改变掩模的分辨率,r,

ra <- aggregate(r, fact=12, na.rm=TRUE) 
lcm <- mask(lc_r1, ra)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配两个光栅的分辨率 的相关文章

随机推荐

  • Android - 使用 Intent.ACTION_GET_CONTENT 调用“文件选择器”时如何仅显示(或能够选择)具有自定义扩展名的文件

    我知道您可以限制在名为的文件资源管理器中显示的可用文件类型意图 ACTION GET CONTENT https developer android com reference android content Intent html ACT
  • Java MapReduce 按日期计数

    我是 Hadoop 的新手 我正在尝试编写一个 MapReduce 程序 以按日期 按月分组 计算最多出现的前两次选集 所以我的输入是这样的 2017 06 01 A B A C B E F 2017 06 02 Q B Q F K E F
  • 无法解析符号 KITKAT 无法解析方法 getAllocationByteCount()

    我正在尝试运行 BitmapFun 官方示例 但出现以下错误 1 无法解析符号KITKAT 2 无法解析方法 getAllocationByteCount 有什么帮助吗 我的 AndroidManifest xml
  • 字符在 UTF-8 网站上无法正确显示

    我已经做了我能想到的一切 但特殊字符在此网页上无法正确显示 例如 在数据库中它是 但网站上是这样的 Nouveaux R alistes 这是我检查过的所有内容 数据库设置为UTF 8 该页面是用 NetBeans 编写的 文档编码设置为
  • 如何获取 python-elasticsearch 中所有索引的列表

    如何获取 Python 中索引名称的列表 这是我到目前为止所拥有的 gt gt gt es e es gt gt gt es
  • 如何在 PHP 或 SQL 中获取 blob 的大小 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的数据库中有很多 blob 数据
  • 如何像 pylab 的 specgram() 一样绘制频谱图?

    在 Pylab 中 specgram 函数为给定的幅度列表创建频谱图 并自动为频谱图创建窗口 我想生成频谱图 瞬时功率由下式给出 Pxx 通过运行边缘检测器对其进行修改 然后绘制结果 Pxx freqs bins im pylab spec
  • 如何阅读谷歌日历中的提醒

    我正在尝试阅读用户设置的提醒 我所说的 提醒 是什么意思 目前有两种不同的含义 第一个是与日历中每个事件相关的 警报 您可以从中读取它们CalendarContract Reminders 第二个是用户通过 Google Now 使用 记住
  • 检查 pandas 数据帧的最后一行是否满足条件的最佳方法是什么?

    我在尝试创建一个新列时遇到了困难 该新列是基于 信号 列的检查列 如果最后五行 包括最后一行 为 1 则返回 1 如果最后五行 包括最后一行 为 0 则返回 0 其他都为 check 的最后一个值 如下所示 我有以下数据框 signal i
  • 当拦截空格和箭头等按键时停止页面滚动

    我正在使用 JavaScript 和 Prototype 并捕获用户的按键操作 我使用如下代码成功捕获了回车符 空格和箭头 Event observe window keyup function e switch e keyCode cas
  • firebase错误W/DynamiteModule:找不到com.google.firebase.auth的本地模块描述符类

    我尝试基于登录 注册帐户构建应用程序 我创建了它的 Firebase 并通过电子邮件启用身份验证 我添加了 google play services json 文件 我添加了 apply plugin com google gms goog
  • 在詹金斯中并行运行两个管道时出现死锁

    目前我有以下问题 我编写了一个 Jenkinsfile 来在管道中构建我的存储库 每个存储库在多分支管道中都有自己的管道 每当我推送存储库时 管道就会开始工作 对于建筑物 我有一个带有两个节点的代理 当多分支管道运行时 多分支管道使用一个节
  • Android 应用程序中 ECC 密钥的保护

    我已经使用 ECC 密钥对完成了 Android 应用程序 当我去年开发它时 我想在Android Keystore中创建ECC密钥 不幸的是 这个 ECC 密钥用于生成会话密钥 这要归功于ECDH https en wikipedia o
  • 如何更改 Play、SBT 及其插件使用的 Scala 版本?

    是否有必要更改 SBT 及其插件使用的 Scala 版本 我正在使用 Play Framework 2 1 1 RC2 我想创建使用 Scala 2 10 1 的新项目 为了实现这一目标 我做了以下工作 添加依赖项 org scala la
  • 在手机上的真实日历中设置提醒吗?

    我想在手机日历上添加提醒 换句话说 提醒需要在手机的真实日历中 我们可以使用 AlarmManager 创建提醒 但我希望它出现在日历中 我如何在 Android 中制作这个 在按钮单击或您想要向日历添加提醒的任何位置添加此代码 Uri E
  • Git删除分支而不克隆?

    有没有办法从 Git 存储库中删除分支而不进行克隆或任何其他类型的本地副本 基本上 我正在开发用于发布管道的仪表板 并且不想在仪表板服务器上拥有任何工作项目的代码只是为了删除已部署的功能分支 如果重要的话 我们使用 Atlassian Bi
  • 如何使用 .zshrc 将 ~/.composer/vendor/bin 目录放入您的 PATH 中

    这可能是一个非常菜鸟的问题 但我正在尝试在我的 Mac 上安装 Homestead 我正在通过以下方式执行安装步骤http laravel com docs 4 2 homestead http laravel com docs 4 2 h
  • 如何在3d中挤出一条路径?

    我正在尝试在 3d 中挤出一条路径 还没有什么奇特的 只是遵循一些点并使用正多边形作为 管道 我现在使用Processing 来快速构建原型 但稍后会将代码转换为OpenGL 我的问题是以直角旋转 关节 我想我大概知道如何获得角度 但不确定
  • opencv中Canny操作自动计算低阈值和高阈值

    在 OpenCV 中 canny 算子的低阈值和高阈值是强制性的 cvCanny input output thresh1 thresh2 在 Matlab 中 有一个选项可以自动计算这些值 edge input canny 我研究了 Ma
  • 匹配两个光栅的分辨率

    我使用两个栅格 每个栅格具有不同的分辨率 我想知道是否有一种更有效的方法将较粗的光栅分辨率与较精细的光栅分辨率相匹配 现在我正在使用蒙版功能来节省一些时间 剪辑到正确的范围并更改分辨率 library raster the raster t