[R-sig-Geo] function contourLines2SLDF
Michael Sumner
mdsumner at utas.edu.au
Mon Mar 26 02:43:09 CEST 2007
Karl.Sommer at dpi.vic.gov.au wrote:
> Hello list,
>
> I used to be able to apply the function contourLines2SLDF for the
> following operation on a SpatialGridDataFrame object.
>
>
>> CL <- contourLines2SLDF(contourLines(as.image.SpatialGridDataFrame
>>
> + (as(ht.idw["var1.pred"],"SpatialGridDataFrame"))))
>
>
Gee I'd never noticed that function. I just checked and it's now in the
"maptools" package.
BTW, here's an example I used just the other day, in case that's helpful
to see what's going on. It depends on how your lines need to be
organized whether this will match your case.
Cheers, Mike.
"d" is a SpatialGridDataFrame
"tab" is a SpatialPolygonsDataFrame (I'm looping over each polygon using
"kk", this is one iteration)
## contour it
l <- contourLines(as.image.SpatialGridDataFrame(d), levels = seq(0,
2000, by = 10))
## create empty list to hold lines
ll <- vector("list", length(l))
## loop over list of contours to create Lines object
for (i in 1:length(l)) ll[[i]] <- Lines(list(Line(cbind(l[[i]]$x,
l[[i]]$y))), as.character(i))
## make those lines Spatial, and fill out SpatialLinesDataFrame
ll <- SpatialLines(ll, CRS(proj4string(d)))
nm <- as.character(tab[kk,][["MAP_NAME"]])
num <-as.character(tab[kk,][["MAP_NO"]])
nn <- length(l)
ll <- SpatialLinesDataFrame(ll, data.frame(level = unlist(lapply(l,
function(x) x$level)),
MAP_NAME = rep(nm, nn),
MAP_NO = rep(num, nn)))
More information about the R-sig-Geo
mailing list