SpatialLinesDataFrame 上的 SpatialPointsDataFrame
SpatialPointsDataFrame over SpatialLinesDataFrame
我有几个数据集(约 25 个具有相同的列)总共约 400,000 个观察值。我正在 运行 循环以提取每个数据调查点的道路 class。当我 运行 在一个小数据集(~ 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)
}
好吧,我不确定原因,但是当我 运行 将脚本单独放在每个脚本上时。有用。这需要更多时间,但它正在工作。
米
我有几个数据集(约 25 个具有相同的列)总共约 400,000 个观察值。我正在 运行 循环以提取每个数据调查点的道路 class。当我 运行 在一个小数据集(~ 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)
}
好吧,我不确定原因,但是当我 运行 将脚本单独放在每个脚本上时。有用。这需要更多时间,但它正在工作。 米