Error: isTRUE(gpclibPermitStatus()) is not TRUE

garson picture garson · Jun 11, 2015 · Viewed 20.5k times · Source

This question may be a duplicate of an earlier unanswered one. I still have the problem.

I am trying to use a zipcode shapefile and coming up with the following error:

tract <- readOGR(dsn = ".", layer = "cb_2013_us_zcta510_500k")
tract<-fortify(tract, region="GEOID10")
Error: isTRUE(gpclibPermitStatus()) is not TRUE

I have tried installing gpclib to fix this but then I get the following error:

install.packages("gpclib")

Installing package into ‘C:/Users/Nick/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘gpclib’
  These will not be installed

Help?

Answer

Pat W. picture Pat W. · Jun 23, 2015

You can look at Hadley's master file for ggplot2/R/fortify-spatial.r. Based on this outside link, my understanding is that lines 31–34 (in it's current form) used to read something like

# Union together all polygons that make up a region
try_require(c("gpclib", "maptools"))
unioned <- unionSpatialPolygons(cp, invert(polys))

So back then one way to attack the problem was to turn on the license

library(rgdal)
library(maptools)
if (!require(gpclib)) install.packages("gpclib", type="source")
gpclibPermit()

As @rcs, @Edzer Pebesma, and this answer mention, rgeos should resolve the issue for more recent installations.