Dear R geographers:

I'm able to replace the coordinates of any given polygon, but not construct apply() family commands or for() loops to accomplish the same task. How can I construct a simple loop or apply() command that will sequentially replace all of the coordinates in a SpatialPolygons object?

As far as I understand, the coordinates of a polygon are kept in a slot referred as follows:
m...@polygons[[x]]@polygons[[...@coords

Using which, I can create mapply(foo, indexp, indexP) commands to extract the original coordinates and transform them.

# Define a pair of vectors indexp, indexP that together index every Polyon in the SpatialPolygons object map.
# Then extract coordinates as follows:
coords <- function(x,y) {...@polygons[[indexp]]@polygons[[index...@coords}
# Or operate a function foo on the old coordinates
coords.alt <- mapply(foo, m...@polygons[[indexp]]@polygons[[index...@coords[,1], m...@polygons[[indexp]]@polygons[[index...@coords[,2])

So I can create lists and matrices of coordinates, and transform the coordinates.

It is possible to write a command that replaces coordinates using integers; but these commands fail when I attempt to use mapply() to replace existing coordinates. For example,

p...@polygons[[1]]@polygons[[...@coords <- foo(1,1)

will work fine, but the following will not.

newcoords <- function(indp, indP) {
    p...@polygons[[indp]]@polygons[[ind...@coords <- foo(indp, indP)
    }
mapply(newcoords, indexp, indexP)


Have I missed something in the manual on coordinates that would enable me to transform the coordinates of all the Polygons in a SpatialPolygonsDataFrame according to some regular function of the old coordinates (x,y)? Is the only alternative to build a new SpatialPolygons data frame from scratch, beginning with the new coordinates?

If it would be useful, I can provide sample code that works on wrld_simpl.

Please advise. Thank you!


--
Ben Mazzotta, PhD Candidate
The Fletcher School, Tufts University
benjamin.mazzo...@tufts.edu

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to