0

我有几个数据集(大约 25 个具有所有相同的列),总共有大约 400,000 个观察值。我正在运行一个循环来提取每个数据调查点的道路类别。当我在一个小数据集(~ 4,000 obs)上运行我的脚本时,一切正常。但是,当我使用相同的脚本运行循环时,在前 47,000 个 obs 之后出现错误(停止循环)。我用谷歌搜索了那个错误,没有发现任何结果。有什么建议么?

谢谢马丁

.Call("rgeos_intersects_prepared", .RGEOS_HANDLE, spgeom1, spgeom2, 中的错误:不允许负长度向量

这是我用于分析的部分代码

proj4string(Road) <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")
Road_pc <- spTransform(Road, CRS = CRS("+init=epsg:2957"))

output <- NULL 

for( j in 1:length(import.list)){

dfb <- as.data.frame(import.list[j])

coordinates(dfb) <- ~ coords.x1 + coords.x2 
proj4string(dfb) <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")
pc <- spTransform(dfb, CRS = CRS( "+init=epsg:2957" ))
pc100m <- gBuffer(pc, width=100, byid=TRUE ) 

zzc <- over(pc100m, Road_pc)
dfc <- cbind(dfb, zzc)
dfc$DAdates <- j
output<- rbind(dfc, output)
}
4

1 回答 1

0

好吧,我不确定原因,但是当我在每个脚本上单独运行脚本时。有用。这需要更多时间,但它正在工作。米。

于 2015-06-26T19:27:04.467 回答