Step characteristics on raster maps
On Thu, Sep 30, 2010 at 9:57 PM, Mathieu Basille
<basille at ase-research.org> wrote:
Dear Robert, I just understood the interest of 'crosstab' with 'mask', this is pretty neat! Thanks for the suggestion. However, I can see some potential drawbacks with this approach: as my objective is to describe each step (each segment), I should first cut each 'SpatialLines' into a list of 'Lines', each 'Lines' being a segment (and not the whole trajectory). I apology if I'm totally wrong, I'm not that familiar with SpatialLines... But then, what about crossing/overlaping segments, i.e. several segments that all fall in the same pixel (which usually happens a lot)? With linesToRaster, only the last segment would be kept. So that I should run independently the approach for each 'Line' (each segment) just to avoid these crossings, and that would result in as many new rasters as the number of segments (and I'm talking about hundreds of thousands here, over large rasters).
You are right, of course. I have added a function "lineValues" (akin to "polygonValues" that existed) to the raster package. This function should not have this problem. It is in the development version available from R-Forge, please try it if you can. Robert
Basically, to rephrase my problem, here is what I want to achieve. Given a set of points (say a SpatialPointsDataFrame, or SpatialLinesDataFrame, or ltraj), I'd like to be able to compute new variables that give for each point summaries or characteristics (e.g. proportion of each type of the raster if it is categorical, or mean if is continuous) of the segment from that point to the next (or previous, it doesn't matter). It seems to be a simple problem in terms of low-level functions (segments over raster), but a complex one in terms of data structure (an single object with a set of individual trajectories which are themselves sets of segments). And I have to admit that I have some troubles going from the former to the latter. Thanks again for your time, Mathieu. Le 2010-09-30 11:28, Robert J. Hijmans a ?crit :
Perhaps you can do something like r is a Raster* object line is a SpatialLines* object library(raster) rr <- linesToRaster(line, r) rm <- mask(r, rr) crosstab(rm, rr) Robert On Thu, Sep 30, 2010 at 5:46 AM, Mathieu Basille <basille at ase-research.org> wrote:
Dear list members, I'm trying to compute characteristics along steps (i.e. segments between two points), based on underlying raster maps. The steps originally come from radiotracking data, converted to ltraj objects (adehabitat). The idea is to compute (for example) the habitat composition corresponding to each step instead of each points, as we are interesting in the movement path. I tried different solutions, as I would like to do it with R. I did not find any solution using adehabitat (or the development versions adehabitatMA/LS); 'join' only works for point characteristics, not steps. I also tried using sp and SpatialLinesDataFrame, but overlay does not seem to work with SpatialLines(DataFrame) and SpatialPixelsDataFrame: Error in function (classes, fdef, mtable) ?: ?unable to find an inherited method for function "overlay", for signature "SpatialPixelsDataFrame", "SpatialLinesDataFrame" I also investigated packages raster, trip, and rgeos, without success. Maybe the low level functions of rgeos could be used, but it seems a bit out of my skills (and time available) at the moment. Another solution might be to use spgrass6 in conjunction with GRASS, but I'm not familiar enough with GRASS to judge if it is a viable alternative... I'd welcome any hints/thoughts on this question. Sincerely, Mathieu Basille. -- ~$ whoami Mathieu Basille, Post-Doc ~$ locate Laboratoire d'?cologie Comportementale et de Conservation de la Faune + Centre d'?tude de la For?t D?partement de Biologie Universit? Laval, Qu?bec ~$ info http://ase-research.org/basille ~$ fortune ``If you can't win by reason, go for volume.'' Calvin, by Bill Watterson.
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo
-- ~$ whoami Mathieu Basille, Post-Doc ~$ locate Laboratoire d'?cologie Comportementale et de Conservation de la Faune + Centre d'?tude de la For?t D?partement de Biologie Universit? Laval, Qu?bec ~$ info http://ase-research.org/basille ~$ fortune ``If you can't win by reason, go for volume.'' Calvin, by Bill Watterson.