Spatstat:从数据库创建像素图像对象我无法转换为矩阵

时间:2018-05-29 23:25:06

标签: r geospatial 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

您可以看到数据here的图表。

我只有闪电数据的其他数据文件。

希望你能帮助我并感谢你的一切!

此外,我无法使用im(),因为我无法将数据制作成矩阵,我也尝试使用owin(poly=data),但它使我成为一个由有数据的行,我也读了更多,我认为owin不是我需要的解决方案......

我现在正在阅读其他库,看看我是否可以使用其他库而不是spatstat来执行栅格。

1 个答案:

答案 0 :(得分:0)

我认为这个配方应该可以帮助您从数据中创建一个SpatialPointsDataframe和一个图像(在带有光栅包的示例中):

https://gis.stackexchange.com/questions/20018/how-can-i-convert-data-in-the-form-of-lat-lon-value-into-a-raster-file-using-r

然后您可以使用以下命令将空间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