[R-sig-Geo] Using the Z value for 3-D polygons?

Edzer Pebesma edzer.pebesma at uni-muenster.de
Thu Mar 5 11:05:22 CET 2009


Thanks for the detailed comments. Before you want me starting to
experiment with your data, I want to ask you what makes you think that
spplot will solve your problem, which I assume is plotting 3D polygons
(although I'm not sure)?

Some more comments inline.
-- 
Edzer

Jim Burke wrote:
> Hi, I still need some help. Scant progress.
>
> Resources: I have Deepayan's "Lattice" book and Roger,
> Edzer, and Virgillio's "Applied Spatial Data Analysis"
> if you want to refer me to anything there.
>
> A. I use spplot with spplot.polygon parameters I receive the
>   following error.
>   . The argument seems there and returns "iso".
>   . Am I missing something? My call is in section I below.
>   "Error in append(list(formula, data = as(sdf, "data.frame"),
>    aspect = aspect,: argument is missing, with no default"
>
> B. By the way, mapasp doc could be cleaner. In the line below...
>   1) no opening brace to match "180)" closing brace
I corrected the docs.
>   2) "middle of the map" the correct word is probably "median" not "mean"
>    "let s = 1/cos(My * pi)/180) with My the y coordinate of the middle
>    of the map (the mean of ylim)"
I find the phrase "the mean of ylim" pretty clear. As the median of two
numbers is equal to the mean of two numbers, I don't see the point of
changing this.
>
> C. I would be happy to email my spatial polygon data frame if you want
>   to experiment.
>
> Below is my non working spplot call. Idea is to have a 3d version
> that uses the z value.
>
> I.  Errors with aspect function argument
>    library(sp)
>    library(maptools)     library(rgdal)        library(PBSmapping)
>    tx3_sp <- readShapePoly("tx3_sp.shp", IDvar="PCT",
>    proj4string=CRS("+proj=aea +ellps=GRS80 +datum=WGS84"))
>
>    spplot (
>        tx3_sp,                 # obj                            
> c("D_CNT"),             # zcol = names(obj). D_CNT has a max of 1693
>        ,                       # other arguments passed to levelplot
> (grids,
>                                # polygons) or xyplot (points)
>        ,                       # names, to use in panel, if different
> from zcol
>                                # names         scales = list(draw =
> FALSE), # scales argument to be passed to Lattice
>                                     #
> plots;                                     xlab = NULL,               
> ylab = NULL,                aspect = mapasp(obj,xlim,ylim),
>                                 # aspect ratio for spatial axes;
> defaults to "iso"
>                                 # (one unit on the x-axis equals one
> unit on the
>                                 # y-axis) but may be set to more
> suitable values
>                                 # if the data are e.g. if coordinates are
>                                
> #latitude/longitude                              panel =
> panel.polygonsplot,
>                                 # depending on the class of obj,
> panel.polygonsplot
>                                 # (for polygons or lines),
> panel.gridplot (grids) or
>                                 # panel.pointsplot (points) is used;
> for further
>                                 # control custom panel functions
>                                 # can be supplied that call one of
> these panel functions,
>                                 # but do read how the argument
> sp.layout may help
>        sp.layout = NULL,        # NULL or list; see notes below
>        ,                        # formula, optional; may be useful to
> plot a transformed
>                                 # value. Defaults to z~x+y for single
> and z~x+y|name
>                                 # for multiple attributes; use e.g.
> exp(x)~x+y|name to
>                                 # plot the exponent of the
> z-variable                                       xlim =
> bbox(tx3_sp)[1, ],# numeric; x-axis limits        ylim =
> bbox(tx3_sp)[2, ] # numeric; y-axis limits
>        )
>
> II.    > summary(tx3_sp)
>       Object of class SpatialPolygonsDataFrame
>       Coordinates:
>            min     max
>       r1 2488376 2542115
>       r2 7003736 7046215
>       Is projected: TRUE
>       proj4string :
>       [+proj=aea +ellps=GRS80 +datum=WGS84 +lat_1=29.5 +lat_2=45.5
>       +towgs84=0,0,0]
>       Data attributes: (I did not list these)
>
> III.   mapasp(tx3_sp,bbox(tx3_sp)[1, ],bbox(tx3_sp)[2, ])
>       [1] "iso"
>
>
> Thanks,
> Jim Burke
>
>
> Jim Burke wrote:
>> Hi Everyone,
>>
>> QUESTION: How can I plot a spatial polygon (SpatialPolygonsDataFrame)
>> as 3-d? Perhaps using "spplot.polygons" with its z value?
>>
>> GOAL: To have a series of polygons look like approximately like the
>> last example in the PDF below.
>> http://ocw.mit.edu/NR/rdonlyres/Urban-Studies-and-Planning/11-521Spatial-Database-Management-and-Advanced-Geographic-Information-SystemsSpring2003/ACA80C9F-4089-403E-9669-50763381D08A/0/lect13c.pdf
>>
>>
>> EXAMPLE SUGGESTION: Use "spplot.pologons" with the venerable
>> SourceForge NC fig21.R example and using its color coding values as
>> the polygon $z value? Assuming lat and long are in the sp.
>> http://r-spatial.sourceforge.net/gallery/#fig21.R
>>
>> Then if its not as straightforward as above, what would be the steps
>> to convert a spatial polygon to points or something to graph that way?
>>
>> Thanks,
>> Jim Burke
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>>
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo

-- 
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster
Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
8333081, Fax: +49 251 8339763 http://ifgi.uni-muenster.de/
http://www.springer.com/978-0-387-78170-9 e.pebesma at wwu.de



More information about the R-sig-Geo mailing list