在 R (CRAN) 中创建和裁剪网格

2024-02-10

我需要在 gstat 库中创建一个用于空间插值的掩模网格。具体来说,我有随机分布的不同采样点,我需要创建包围这些点的最小凸多边形。然后,我必须创建一个空间网格,该网格应由计算的外壳裁剪,以将插值限制在该多边形的范围内。如果有人能向我解释详细的过程并提供一些示例,我将不胜感激。先感谢您。


我自己找到了解决方案。

library(spatstat)
library(sp)
library(plotKML)
library(maptools)

创建随机点

x<-rnorm(100,3)
y<-rnorm(100,3)
plot(x,y)
xy<-cbind(x,y)
xy<-as.data.frame(xy)

将点转换为空间点数据帧,然后转换为栅格。

coordinates(xy)=c("x","y")
pnts<-vect2rast(xy)
summary(pnts)

检查汇总像元大小值并记住它

从点创建凸包。 然后,将“owin”对象(凸包的类)转换为空间多边形(栅格创建的基本步骤)

conv<-convexhull.xy(x,y)
SpP<-as(conv,  "SpatialPolygons")
plot(SpP)
points(x,y)
attr  =  data.frame(a=1,  b=1)
SrDf  =  SpatialPolygonsDataFrame(SpP,  attr)

将“cell.size”设置为与“summary(pnts)”相同(在本例中设置为 0.085)。

rast <- vect2rast(SrDf,cell.size=0.085)

玩得开心!

plot(rast)
image(rast)
points(x,y)

笔记: 使用 vect2rast,如果没有为“rast”对象设置 cell.size,该函数会自动计算基于 un 点密度分布的最合适的像元大小。在这种情况下,多边形仅由其顶点定义,因此我们使用为我们想象的多边形包围的点计算的像元大小。

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

在 R (CRAN) 中创建和裁剪网格 的相关文章

随机推荐

  • Meteor 加载脚本、特定于页面的 CSS

    我目前遇到的问题是 我希望能够只执行特定的脚本和 CSS 文件 因为如果在错误的页面上执行 它会在浏览器控制台中产生错误 我正在为 Meteor 使用 Iron router 仅使用基本代码即可使其工作 现在 有没有一种方法可以让我将脚本作
  • 如何在不排序的情况下执行UNION? (SQL)

    UNION连接两个结果并删除重复项 同时UNION ALL不删除重复项 UNION并对最终输出进行排序 我想要的是UNION ALL没有重复 也没有排序 那可能吗 这样做的原因是我希望第一个查询的结果位于最终结果的顶部 第二个查询位于底部
  • Symfony 和 FOSUserBundle:3 种不同的配置文件,具体取决于角色

    I ve a User class User id username password email 和三个不同的roles与不同的个人资料字段 1 Teacher teachingSince aboutMe classes 2 Pupil
  • 如何使用twitter api获取twitter用户的电子邮件地址

    我想在我的网站上放置一个 使用 Twitter 登录 的插件 并且在用户允许我的 Twitter 应用程序访问其数据后 我的网站需要获取用户的 twitterID 和电子邮件 我浏览了 Twitter 开发文档 但似乎总是关于 OAuth
  • opencv/c++ 中正确的阈值函数

    我是图像处理和 opencv 的新手 我需要对灰度图像进行阈值处理 该图像包含0到1350之间的所有值 我想保留所有大于100的值 我在opencv中找到了这个函数 cv threshold Src1 Last 100 max BINARY
  • 在工作副本中动态更改 SVN+SSH URI 中的用户名

    我正在使用 SVN SSH 从 SVN 服务器上签出存储库的工作副本 该服务器上的所有开发人员都是 SVN 服务器的成员 developer组并对存储库目录和关联元数据具有完全读 写权限 svn co svn ssh email prote
  • Kubernetes 集群中的 Coredns 处于挂起状态 [已关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我正在尝试配置 2 节点 Kubernetes 集群 首先 我尝试在 CentOS VM 上配置集群的主节点 我已使用 kubeadm
  • 无法在 azure 容器实例中将 azure 文件共享装载为 mongodb 卷

    我正在尝试使用 azure 容器实例设置 mongo DB 实例并将其安装在 Azure 文件共享上 我们收到以下错误 initandlisten WiredTiger error 1 1579245437 724939 1 0x7f941
  • 在 Nativescript 和 Angular Schematics 的共享代码中找不到模块

    我正在使用 Angular 和 Nativescript Schematics 我已经安装了nativescript ui sidedrawer 当我跑步时 tns run ios bundle 本机版本已编译并部署到设备 但是当我运行时
  • doall dorun dideq 和 for 函数有什么区别?

    功能有什么区别doall dorun doseq and for 我发现一些信息分散在互联网上 但我认为最好将这些信息集中在这里 dorun doall and doseq都是为了强制惰性序列 大概是为了产生副作用 dorun 强制返回时不
  • 使用 NSPredicate 按对象属性过滤

    我有一个可变的自定义对象数组 例如 我想按对象的属性过滤该数组myObject attributeOne 如何创建 NSPredicate 来使用 myArrayOfObjects filterUsingPredicate
  • UI层向业务层返回什么?

    我正在编写一个 ASP NET 应用程序 它有 UI 层 业务逻辑层和数据访问层 我从数据层将业务对象返回到业务逻辑层 并将它们传递到 UI 层 但是 当我想使用 UI 层的数据执行保存 插入时 我不确定该怎么做 我应该在 UI 层创建业务
  • Python (2.4) 字典中的排序

    r dict answer1 value1 answer11 value11 answer2 value2 answer3 value3 answer4 value4 for i in r dict if answer in i lower
  • Fontforge 脚本如何为字形添加连字

    我正在 Fontforge 上使用脚本制作字体 一切顺利 但我有这个问题 我不知道如何指定选定的字形 如果其他两个字形同时出现 则显示选定的字形 我已经为此创建了查找表和子表 但我不知道为指定字形定义一些连字的函数 以下是创建表和子表以将连
  • 使用 Python 和 xlwings 在 Excel 中查找活动/选定单元格的范围

    我正在尝试用Python 使用xlwings 编写一个简单的函数 该函数读取Excel中当前的 活动 单元格值 然后将该单元格值从活动单元格写入下一列中的单元格 如果我使用绝对引用指定单元格 例如 range 3 2 那么一切正常 但是 一
  • 在 Linux 中向当前日期添加 x 秒

    我这里有两台 Linux CentOS 6 0 机器 我需要在当前日期时间上添加 或删除 5 秒 最后 我的两台机器都会有5秒的差距 一台时间正确 另一台或多或少有5秒 我知道我可以使用以下命令更改日期 date s DD MMM YYYY
  • 对一个集合的元素执行操作并迭代结果以执行其他操作

    如果我有2个收藏 List
  • Eclipse Markdown 表未呈现

    我现在已经在 Eclipse 中尝试了四种不同的 Markdown 编辑器 但它们都无法在预览中渲染表格 它们总是平坦的 一个简单的表就像 hans pans 1 2 渲染得像 hans pans 1 2 我知道语法是正确的 因为它在 Ec
  • 根据输入值重定向到页面

    我正在尝试在页面上创建一个需要用户输入文本的表单 提交表单后 用户将被重定向到分配给它的页面 我的问题是我哪里出了问题 我应该如何解决这个问题 有人可以添加 JSFiddle 或 Codepen io 笔用于清除目的吗 例如 用户输入并提交
  • 在 R (CRAN) 中创建和裁剪网格

    我需要在 gstat 库中创建一个用于空间插值的掩模网格 具体来说 我有随机分布的不同采样点 我需要创建包围这些点的最小凸多边形 然后 我必须创建一个空间网格 该网格应由计算的外壳裁剪 以将插值限制在该多边形的范围内 如果有人能向我解释详细