[R-sig-Geo] clip a SpatialPolygonsDataFrame

Laetitia Blanc blanc.laetitia.esr34 at gmail.com
Fri Aug 6 11:35:39 CEST 2010




Can the KDE be run with the correct coordinates in the specified 
projection on the input data, so that thw window matches the outlines? Can 
you re-write the code making res to generate a SpatialGridDataFrame? The 
input points must have a projection. Without a shared projection (CRS, 
coordinate reference system) this is not possible.

Roger

>I have taken into account your advice.
>I have loaded my input data with the correct CRS (lambert II) in order to
match with the map :

d <- read.csv('total.csv', header = TRUE) #, sep = ",", quote="\"",
dec=".",fill = TRUE, comment.char="", ...)

d <- d[-(1:10),]

d2 <- data.frame (d)
spd2 <- d2

#transformation into SpatialPointDataFrame
coordinates ( spd2 ) <- ~ x + y
proj4string ( spd2 ) <- CRS("+init=epsg:27572")

>Then, i have realised my KDE :

source("stkde2.txt")

res <- array(0,c(20,20,length(unique(spd2$an)))) # créer 30
(length(unique(d$an))) tableaux de 20x20.
for (i in 1:length(unique(spd2$an))) { 
spd3 <- subset(spd2,spd2$an == 1979+i) # résumé en conservant que 1973+i où
i=30 donc en gardant que 2009
lynxkde<-stkde(xlong=spd3$x, ylat=spd3$y, ztime=spd3$an,
xgrids=20,ygrids=20,bwmethod="cv.ml") 
res[,,i] <- lynxkde$dens
} 

>At that moment, the window where the KDE is running has te correct unit
(meters) (xrange : >from 823 000 to 981 000 ; yrange : from 2 079 500 to 2
305 500)

>But then, when i create my animation, the window has the x and y ranges :
0:1. I think the >probleme comes from my animation. Moreover, when i try to
insert my map in my animation, i still >have an alternation between the map
and the kernel >rather than the kernel ON the map (like
>overlay/superposition...) :


library(animation)
library(MASS)

# create a HTML page from my animation :
pres.ani <- function() 
{ 
for (i in 1:length(unique(spd2$an))) { 
image(res[,,i],xlab='',ylab='',main=unique(spd2$an)[i]) 
contour(res[,,i],add=T) 
plot(france,xlim=range(823000:981000),ylim=range(2079500:2305500),add=TRUE) 
Sys.sleep(.5) 
} 

} 
ani.start(interval=.5,title = "movie presence lynx", outdir = getwd()) 

pres.ani() 
ani.stop() 

>I think i must solve the problem by changing my animation but i don't know
how. Do you have an >idea ? Do you think that it can be because i have
spatial objects ?
-- 
View this message in context: http://r-sig-geo.2731867.n2.nabble.com/clip-a-SpatialPolygonsDataFrame-tp5376909p5379892.html
Sent from the R-sig-geo mailing list archive at Nabble.com.



More information about the R-sig-Geo mailing list