我的最终目标是使用Spatstat pointsOnLines函数沿一组路线创建点,这些路线已从SpatialLinesDataFrame强制转换为psp对象。
我从加载了rgdal OGR的形状文件开始。该形状文件具有24个特征和6个字段。
Structure of SpatialLinesDataFrame
我想强制使用一个psp对象以在SpatStat包中使用。我已经研究了spatstat软件包中的处理shapefile”,但是运气不佳;可能是由于不理解(我很新,我正在教自己)。
这是pdf提供的代码:
out<-lapply(x@lines,function(z) {lapply(z@Lines,as.psp) }) dat<-x@data for (i in seq(nrow(dat))) + out[[i]]<-sapply(out[[i]],"marks<-", value=dat[i, , drop=FALSE])
有人可以引导我通过如何将这段代码应用于我的spacelineslinesdataframe来创建一个psp对象,并将我的sldf字段转换为psp中的标记吗?特别地,我在z上绊倒了,因为z在任何地方都没有定义。什么是功能(z)以及如何处理“标记
我已经成功使用过
RL.PSP<-as(RouteLines,"psp")
但是,这会引发此错误,并且不会强制字段。
“在as.psp.SpatialLinesDataFrame(from)中:丢弃了5列数据帧我需要将字段强制转换为标记,因为一旦使用pointsOnLines函数,我就需要能够将点链接回到它们来自的线。
我的最终目标是使用Spatstat pointsOnLines函数沿一组路线创建点,这些路线已从SpatialLinesDataFrame强制转换为psp对象。我以...
听起来像您:
您可能应该为手头的任务使用spatstat
类linnet
,lpp
和lppm
。对于转换,您可以遵循as.linnet.SpatialLines
中maptools
的帮助文件。我认为它很好地涵盖了您的情况: