嗨,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
您可以看到数据here的图表。
我只有闪电数据的其他数据文件。
希望你能帮助我并感谢你的一切!
此外,我无法使用im()
,因为我无法将数据制作成矩阵,我也尝试使用owin(poly=data)
,但它使我成为一个由有数据的行,我也读了更多,我认为owin不是我需要的解决方案......
我现在正在阅读其他库,看看我是否可以使用其他库而不是spatstat来执行栅格。
答案 0 :(得分:0)
我认为这个配方应该可以帮助您从数据中创建一个SpatialPointsDataframe和一个图像(在带有光栅包的示例中):
然后您可以使用以下命令将空间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