[R-sig-Geo] zip code map - huge files!

Enrico Rossi enrico.a.rossi at gmail.com
Sun Apr 26 22:06:35 CEST 2009


Hello,

I have some data at the zip code level, and I'm using the shapefiles
downloaded from the Census TigerLine website
(http://www2.census.gov/geo/tiger/TIGER2008/tl_2008_us_zcta5.zip) to
plot a shaded map of the US. However, the files generated in this way
are enormous, and take a long time to process, even on a fast machine
with lots of memory. I'm wondering if there's a more efficient way to
do this. Maybe rasterize before plotting somehow?

If anyone on this list has experience working with zip-level data, I'd
appreciate any advice.

Here's some example code like what I'm doing:

# This works, and produces a 1.2GB PDF file! After it's done, I can
rasterize it using gs to reduce file size, but it takes almost an hour
library(maptools)
zip<-readShapePoly("tl_2008_us_zcta5")  # This takes a while!
val<-runif(length(zip[[1]])) # there are about 32000 zip codes
pdf("zipplot.pdf")
plot(zip,xlim=c(-130,-65),ylim=c(20,50),col=grey(val),lty=0)
dev.off()
system("gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300
-dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dMaxStripSize=8192
-sOutputFile=zipplot.png zipplot.pdf")

# I've tried plotting directly to png, but it just seems to hang, my
patience ran out after two hours
png("zipplot.png")
plot(zip,xlim=c(-130,-65),ylim=c(20,50),col=grey(val),lty=0)
dev.off()

# This also takes too long, I never got any output out of it
library(lattice)
zip$val<-val
pdf("zipplot2.pdf")
spplot(zip,"val",xlim=c(-130,-65),ylim=c(20,50),lty=0)
dev.off()

Many thanks!
Enrico Rossi



More information about the R-sig-Geo mailing list