[R-sig-Geo] pixellating multiple polygon data

Robin W Hunnewell rhunne at mac.com
Mon May 30 22:40:59 CEST 2011


Hi,

I'd seeking a way to handle multiple polygon data as a spatial pattern. I know superimpose {spatstat} allows one to superimpose multiple point patterns or line segment patterns, but is there any way to do this for a set of polygon features?  Similarly, 'pixellate.owin' {spatstat} allows the user to convert a window to a pixel image by measuring the area of intersection between the windows and each pixel in a raster. But is there a way to do this for a window that contains multiple polygon features?

To explain, I have a SpatialPolygonsDataFrame (SPDF) with 14 constituent objects. Each polygon represents a different observation window used on different dates. The windows cross-over and overlap within a composite search window. I've managed to coerce the SPDF to an 'owin' in spatstat, and then pixellate it as an 'im' object. But I can't then assign the composite window that I want to this pixel image.

The multiple feature owin was created from .shp file (readShapePoly) as SpatialPoygonsDataFrame and then as window with <- as(x, "owin").  To prevent error when spatstat.options(checkpolygons=TRUE)  "Error in owin(poly = opls) :  Polygon data contain overlaps between polygons,"  I temporarily set checkpolygons=FALSE so that the garbled polygon data could be accepted:

> summary(Bpaths.owin)
Window: polygonal boundary
14 separate polygons (no holes)
            vertices    area relative.area
polygon 1       8276 196.270        0.0722
polygon 2       7536 193.306        0.0712
polygon 3       8177 193.257        0.0711
polygon 4       7683 194.428        0.0716
polygon 5       8144 193.848        0.0714
polygon 6       7995 193.967        0.0714
polygon 7       7693 196.711        0.0724
polygon 8       7904 191.466        0.0705
polygon 9       7074 191.830        0.0706
polygon 10      6274 192.397        0.0708
polygon 11      9189 202.067        0.0744
polygon 12      6422 192.339        0.0708
polygon 13      6809 189.818        0.0699
polygon 14      8095 195.107        0.0718
enclosing rectangle: [686.7108, 719.9453]x[4886.263, 4926.089]kilometer
Window area =  2716.81 square kilometer 
Unit of length: 1 kilometer 


I also created the composite search window, computed from the geometric union of the constituent polygons in ArcGIS, and read in as a single feature .shp file and then as a single feature owin:

> summary(W3)
Window: polygonal boundary
single connected closed polygon with 8095 vertices
enclosing rectangle: [686.7108, 719.9453]x[4886.263, 4926.137]kilometer
Window area =  526.371 square kilometer 
Unit of length: 1 kilometer 


I was able to pixellate the multi-polygon 'Bpaths.owin' object on a fine grid;

> summary(Bpaths.pix)
real-valued pixel image
600 x 600 pixel array (ny, nx)
enclosing rectangle: [686.710843032164, 719.945292821527] x [4886.26281350552, 4926.08940155008] kilometer
dimensions of each pixel: 0.0554 x 0.0664 kilometer 
Image is defined on the full rectangular grid
Frame area =  1323.61474064852 square kilometer 
Pixel values :
	range = [0,0.0514739065807758]
	integral = 9.98891868259874
	mean = 0.00754669646373897


But what I really want is to assign the correct single-poly, composite window [W3] to this 'im', so that my pixel Image is defined on a subset of the rectangular grid -- set by W3.
Basically I'm trying to convert a multi-feature window to a pixel image by measuring the area of intersection between all the constituent windows in the pattern and each pixel in a raster.
The impetus is to generate raster data that shows density surface of survey coverage, as this is an integral spatial covariate for the distribution of points in my study..  I know you can perform 'densityppp' and 'density.psp' for kernel density on points and lines, but haven't been able to find ways to extend this to a pattern of polygons.

Apologies if I'm missing something basic as to why such functionality is either not tenable or feasible??
Thanks greatly for your patience and help!
Robin



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20110530/80eb8f88/attachment.html>


More information about the R-sig-Geo mailing list