Я пытаюсь пересечь список многоугольников poly.list
с многоугольником (SPFD) b
по raster::intersect(x,y)
Я хочу применить тот же процесс для группы многоугольников, поэтому я написал код цикла. Тем не менее, требуется целая вечность, чтобы вернуть свои результаты, поэтому я бродил, как применить одну из * подать заявку на семью, чтобы она работала?
вот мой цикл for:
int.list<-list()
for (i in 1:length(Poly.list.bb.from06)) {
my.int<-intersect(poly.list[[i]], b)
int.list[[i]]<-my.int
}
и вот моя функция lapply (так как я хочу применить intersect
к списку нескольких многоугольников и получить обратно список многоугольников)
int.list<-lapply(poly.list, intersect(poly.list, b))
int.list<-lapply(poly.list, function(x) intersect(poly.list, b))
Пожалуйста, как мне правильно написать по-ляппински, чтобы сделать перекресток? Спасибо !
Вот некоторые фиктивные данные:
# stack overflow
library(rgeos)
# create polygon
p1 = readWKT("POLYGON((2 2,-2 2,-2 -2,2 -2,2 2))")
# create two buffers - one wth {raster}, one with {rgeos},
# both covers also original polygon !
p2<-readWKT("POLYGON((1.5 1.5,-1.5 1.5,-1.5 -1.5,1.5 -1.5,1.5 1.5))")
poly.list<-list(p1, p2)
b = readWKT("POLYGON((1 1,-1 1,-1 -1,1 -1,1 1))")
int.list<-lapply(poly.list, function(x) intersect(x, b))
но я не верю, что это будет быстрее - person HubertL   schedule 28.05.2016poly.list
иb
для воспроизведения - person HubertL   schedule 28.05.2016Error in as.vector(y) : no method for coercing this S4 class to a vector
- person maycca   schedule 28.05.2016