Strange behavior of spsample when sampling from Sgrid
Dear list,
I spotted the following behavior when using overlay to sample from a
SpatialPixels or SpatialGrid. The following illustrates my point:
library(sp)
data(meuse.grid)
gridded(meuse.grid) = ~x+y
meuse2 = spsample(meuse.grid,
type = "regular",
cellsize = c(40, 40),
offset = c(0.5,0.5))
spplot(meuse.grid, "dist",
sp.layout = list("sp.points", meuse2[1:20,]))
It seems that when using a grid as input for spsample it samples from
left bottom to right top instead of from left top to right bottom. When
using the following command to use overlay to extract data from 'meuse'
and plotting the result illustrates my problem:
meuse.grid$dist_from_meuse2 = meuse.grid$dist[overlay(meuse.grid, meuse2)]
spplot(meuse.grid, c("dist", "dist_from_meuse2"))
Transforming meuse2 to SpatialPixels, to SpatialGrid and back to
SpatialPixels restores the order in meuse2 to 'top-left to bottom right'.
gridded(meuse2) = TRUE
fullgrid(meuse2) = TRUE
fullgrid(meuse2) = FALSE
val = meuse.grid$dist[overlay(meuse.grid, meuse2)]
meuse.grid$dist_from_meuse2_pt2 = val[!is.na(val)]
spplot(meuse.grid, c("dist", "dist_from_meuse2",
"dist_from_meuse2_pt2"))
But this is ofcourse not ideal. Is there a way to force spsample to
always sample from top left to bottom right?
cheers,
Paul
Drs. Paul Hiemstra Department of Physical Geography Faculty of Geosciences University of Utrecht Heidelberglaan 2 P.O. Box 80.115 3508 TC Utrecht Phone: +3130 274 3113 Mon-Tue Phone: +3130 253 5773 Wed-Fri http://intamap.geo.uu.nl/~paul