SpatialLinesDataFrame

时间:2015-06-25 18:06:02

标签: r sp

我有几个数据集(约25个具有所有相同的列),总共有大约400,000个观测值。我正在运行一个循环来为每个数据调查点提取道路等级。当我在一个小数据集(~4,000 obs)上运行我的脚本时,一切正常。但是当我使用相同的脚本运行循环时,我在第一个47,000个障碍物之后出现错误(停止循环)。我用Google搜索了该错误,但未发现任何结果。有什么建议吗?

感谢 马丁

.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)
}

1 个答案:

答案 0 :(得分:0)

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