Cleaning small spatial polygons
On Fri, 16 Oct 2015, Eduardo Diez wrote:
Dear list, I'm willing to know if any knows a way of performing tha same thing i'm doing through rgrass7 with GRASS when I execute the function v.clean with "rmarea" as the tool argument. That is: "The rmarea tool removes all areas <= thresh. The longest boundary with an adjacent area is removed or all boundaries if there is no adjacent area. Area categories are not combined when a small area is merged with a larger area." Basically i have raster of zones within a field. I convert it to SpatialPolygonsDataFrame and in order to leave only the more important/meaningful ones i remove the small/sliver with this tool. In general it works fine but having to call an external software with a specific version makes the script less portable and you have to be careful with updates and such. Also you have to write rasters and shapefiles back and forth as GRASS can't work with in-memory objects.
Could you please provide an example of a built-in or contributed data set (URL, not attachment) with the slivers you mention, so that we know that we are addressing your problem? I don't think that: https://cran.r-project.org/web/packages/cleangeo/index.html does this, as it seems to try to repair broken geometries. Also note that you need to specify that the area threshold is in a square planar metric - dropping slivers in unprojected geometries may be more complicated. Roger
Does someone know a way of doing this in plain R? Thanks [[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Roger Bivand Department of Economics, Norwegian School of Economics, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 91 00 e-mail: Roger.Bivand at nhh.no