R-处理spatstat包中的shapefile问题将空间线数据帧转换为psp

问题描述 投票:0回答:2

我的最终目标是使用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对象。我以...

r shapefile spatstat
2个回答
0
投票

听起来像您:


0
投票

您可能应该为手头的任务使用spatstatlinnetlpplppm。对于转换,您可以遵循as.linnet.SpatialLinesmaptools的帮助文件。我认为它很好地涵盖了您的情况:

© www.soinside.com 2019 - 2024. All rights reserved.