[R-sig-Geo] SpatialPolygons decomposition...
Jim Burke
j.burke at earthlink.net
Sat Feb 14 04:22:52 CET 2009
Hi Peter,
I think I am three days ahead of you on the learning curve. So come join
me! Below is a cumulation of suggestions from Rodger Bivand.
Perhaps the code below may help. Start out with your own SpatialPolygon.
Change it to a dataframe. Then do something data like to the dataframe.
Then coerce back to a SpatialPolygon dataframe. Then dump the
SpatialPolygon in various ways. Or you could simply dump the
SpatialPolygon.
# the following code takes an sp to a df to add the two columns
# then the df is coerced back into an sp. This solves a merge
# issue when merging an sp and df together. R thinks the result
# should be a data.frame so good bye SpatialPolygons
tx2_df <- as(tx2_sp, "data.frame") #make a sp into a df
tx2_df1 <- merge(tx2_df, votes2_df, sort=FALSE, by.x="PCT",
by.y="PCT", all.x=TRUE, all.y=TRUE)
remove(tx2_df)
remove(votes2_df)
# notice that the data frame row IDs we print are sequential
# 1,2,3,4... and not proper precinct names like 1234....
rownames(as(tx2_df1, "data.frame")) #show us the row IDs
# key here is match.ID = FALSE so that it does not try to take
# the 1,2,3 data frame sequence numbers and think they are IDs.
# both sp and df must have rows aligned the same.
tx3_sp <- SpatialPolygonsDataFrame(as(tx2_sp,"SpatialPolygons"),
data=tx2_df1, match.ID = FALSE)
remove(tx2_sp)
remove(tx2_df1)
# debug tx3_sp a little, lets make sure its a SpatialPologonsDataFrame!
sapply(slot(tx3_sp, "polygons"), function(x) slot(x, "ID")) #what
are row "ID"s?
str(as(tx3_sp, "data.frame")) #show representation of variables
(str(tx3_sp)) #shows representation of
geometries too.
names(tx3_sp) #nice but lengthy
Let us know if this helps you any.
Good luck,
Jim Burke
Peter S. Hayes wrote:
> Hi All,
>
> I'm trying to teach a spatial analysis class using R as a means of
> learning some details... I'm not an expert in R myself, but am
> learning it while using it as a 'tool' for lessons in the class...
>
> In getting the students familiar with some of the SP classes, we began
> looking at the class components and manipulating some of the
> components (such as translating by modifying coordinates..).
>
> Is there a means of decomposing SpatialPolygons to access the list of
> Polygons and contained classes? The help files (for example,
> polygons()) appear to hint so, but not function so... the
> SpatialPolygons isn't quite a traditional R dataframe and won't
> flatten with a call to as.data.frame() to allow access to the
> individual slots... but there must be a means of doing that...
>
> Also, I have "Applied Spatial Data Analysis with R" as one of the
> texts... any thoughts for more references... especially for
> non-programmers: I've some software experience (C/C++...) but most of
> the students are environmental study, environmental science, or
> biology students and this is one of their first experiences with
> anything having a command line. We've been taking things slow, but R
> is still a bit cryptic... any thoughts on that would be appreciated!
>
> Thank you for all!
>
>
> Pete
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
More information about the R-sig-Geo
mailing list