Hi Laetitia,
  From your codes, it seems that your are doing the conventional KDE, not
the true spatio-temporal KDE. If so, i suggest you use other packages that
have the method of KDE, such as sm and others. stkde method will be very
time-consuming. And stkde didnot take the GridTopology object as a grid
definition right now. This is a good idea. I will modify it later.
  To make your results match the outlines, you can first generate a grid
data using the outputs and then overlay function can be used to get the
region. See ?overlay
  BTW, Roger's suggestions are right.
 Hope this helps

On Fri, Aug 6, 2010 at 7:13 AM, Roger Bivand <Roger.Bivand@nhh.no> wrote:

> On Fri, 6 Aug 2010, Laetitia Blanc wrote:
>
>
>>
>>
>> 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)
>>
>
> No, this is a misunderstanding. Until you get this right, please forget the
> simulation, make sure everything is correct for a single period first. I am
> pretty sure that lynxkde$dens is a matrix, and if you take the trouble to
> read help(image), you'll see that if the first argument is a matrix, then
> the window is set to 0,1. You need to pass the cell centres of the xgrids
> and ygrids to the image call. Beware that if the spd3$x and spd3$y change by
> i, the grid will be different each time, evenj though it is 20x20, it will
> start somewhere else, and have a different cell dimension.
>
> I think that you are using a function from the stam package - you need to
> adapt it to pass the x.seq and y.seq values now generated internally in as
> arguments, which will permit you to make sure that you have full control of
> the location of the output grids. If you then pass the same x.seq and y.seq
> to image() as the first two arguments, and the matrix as the third argument,
> it will use them to specify its axes, giving you the correct window. You
> need to be sure that your x.seq and y.seq contain all of the xlong and xlat
> for all periods. If stkde took a GridTopology object as a grid definition,
> the output could easily be used to create a SpatialGridDataFrame object,
> which would be very easy to plot in register with your boundaries, but this
> is something for the package maintainer.
>
> Hope this helps,
>
> Roger
>
> PS. CC-ing the stam maintainer.
>
>
>>  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.
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo@stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
> --
> Roger Bivand
> Economic Geography Section, Department of Economics, Norwegian School of
> Economics and Business Administration, Helleveien 30, N-5045 Bergen,
> Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
> e-mail: Roger.Bivand@nhh.no
>



-- 
With Kind Regards,

oooO:::::::::
(..):::::::::
:\.(:::Oooo::
::\_)::(..)::
:::::::)./:::
::::::(_/::::
:::::::::::::
[***********************************************************************]
ZhiJie Zhang ,PhD
Dept.of Geography, Queen's University
Kingston, Ontario,Canada
Address:99 University Avenue
Postcode:K7L 3N6
Office:Room 114, Mackintosh-Corry Hall
Tel.: 613-533-6000-75050 (office)
[***********************************************************************]
oooO:::::::::
(..):::::::::
:\.(:::Oooo::
::\_)::(..)::
:::::::)./:::
::::::(_/::::
:::::::::::::

	[[alternative HTML version deleted]]

