r - Spatstat:从数据库创建像素图像对象我无法转换为矩阵
问题描述
嘿 Stackoverflow 的人们!
我试图查看哪些因素会增加由闪电引起的火灾的发生率,但我在使用库 spatstat 的 im() 函数创建像素图像对象时遇到问题。
问题是我拥有的数据是区域的形状,而不是矩形或正方形,所以我无法将数据转换为矩阵。
我尝试使用函数 owin() 和 poly 参数创建一个窗口,但我拥有该区域的所有点(包括边框和填充),所以我无法获得该区域的多边形。
所以我需要帮助来获得想法a)直接从我的数据库创建一个像素图像对象或b)添加点以创建一个矩形,然后将我的数据转换为矩阵并用它创建像素图像对象。
我希望你能帮助我,如果你需要更多信息,请告诉我。
编辑:很抱歉之前没有提供数据示例。
所以我的数据看起来像这样:
no. lon lat elev exp slope veg
1 700.5380 984.4786 548 -1 0 1
2 704.0483 984.4786 518 135 0 1
3 707.5586 984.4786 548 -1 0 1
4 711.0689 984.4786 569 254 4 1
5 714.5791 984.4786 590 178 5 1
6 697.0277 981.9342 518 -1 0 1
您可以在此处查看数据图。
我拥有的另一个数据文件只有闪电的数据。
希望您能帮助我并感谢您所做的一切!
另外,我不能使用,im()
因为我不能将我的数据变成矩阵,我也尝试使用owin(poly=data)
,但它使我成为由数据线组成的形状,我读了更多,我认为 owin 不是我需要的解决方案...
我现在正在阅读其他库,看看我是否可以用其他库而不是 spatstat 来做光栅。
解决方案
我认为这个配方应该适用于您从您的数据创建 SpatialPointsDataframe 和图像(在带有 raster 包的示例中):
然后,您可以使用以下方法将空间 df 转换为 spatstat:
library(maptools)
library(spatstat)
spatialPointsDF<-as(spatialPointsDataFrame, "ppp")
plot(spatialPointsDF)
查看 maptools 函数:
https://www.rdocumentation.org/packages/maptools/versions/0.9-2/topics/as.ppp
要从栅格创建 im 对象,请再次查看 maptools spatstat API (as.im.RasterLayer):
https://www.rdocumentation.org/packages/maptools/versions/0.9-2/topics/as.ppp
推荐阅读
- hibernate - 如何在 JPA Criteria 查询 API 中编写自定义查询作为根?
- ignite - 持久时在 Ubuntu VM 中点燃发生异常:打开的文件过多
- python - 有没有办法在 on_message 事件中包含 self、message 和 ctx?
- c# - 在 c# 和 mysql 中更新 qty datagrid
- javascript - 使用 socket.io 的通知系统
- ios - UITableViewCell 忽略自动布局
- asp.net-mvc - MVC Core 中的模型绑定空值
- postgresql - Postgres - 删除操作未完成
- javascript - 在滚动条中设置背景透明不会显示其下方的文本
- f# - 函数参数中的通用模式匹配