5 votos

Iterar características en SpatialPolygonsDataFrame en R

Tengo un SpatialPolygonsDataFrame objeto. ¿Hay alguna forma de utilizar apply en este objeto en lugar de utilizar un bucle for para iterar características en este objeto?

7voto

cjstehno Puntos 131

Probablemente quieras iterar sobre los polígonos.

Como ejemplo, comience con esta cuadrícula tomada de la página del manual (pero reducido en tamaño):

library(sp)
grd <- GridTopology(c(1,1), c(1,1), c(3,3))
polys <- as.SpatialPolygons.GridTopology(grd)
centroids <- getSpPPolygonsLabptSlots(polys)
x <- centroids[,1]
y <- centroids[,2]
z <- 1.4 + 0.1*x + 0.2*y + 0.002*x*x
data <- SpatialPolygonsDataFrame(polys, 
             data=data.frame(x=x, y=y, z=z, row.names=getSpPPolygonsIDSlots(polys)))

Aquí sapply se utiliza para crear un vector de los identificadores de polígono e imprimirlo:

(ids <- sapply(data@polygons, function(p) p@ID))

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X