How to turn gpclibPermit() to TRUE

PAC picture PAC · Jan 13, 2014 · Viewed 17.8k times · Source

When I run gpclibPermit(), I've got the answer FALSE. How can I change it to be TRUE?

Answer

Ari picture Ari · Mar 7, 2014

I've struggled with the gpclibPermit issue myself. You don't provide a reproducible example, but I am guessing that you are having a sesion like this:

library(maptools)
Checking rgeos availability: FALSE
Note: when rgeos is not available, polygon geometry computations in maptools depend 
    on gpclib, which has a restricted licence. It is disabled by default;
to enable gpclib, type gpclibPermit()
> gpclibPermitStatus()
[1] FALSE
> gpclibPermit()
[1] FALSE
> gpclibPermitStatus()
[1] FALSE

At this point it helps to look at what gpclibPermit and gpclibPermitStatus actually do:

> gpclibPermit
function ()  
{
if ("gpclib" %in% .packages(all.available = TRUE)) 
    assign("gpclib", TRUE, envir = .MAPTOOLS_CACHE)
if (gpclibPermitStatus()) 
    warning("support for gpclib will be withdrawn from maptools at the next major release")
gpclibPermitStatus()
}
<environment: namespace:maptools>
> gpclibPermitStatus
function () 
    get("gpclib", envir = .MAPTOOLS_CACHE)
<environment: namespace:maptools>

That is, you can't give maptools the permission to use gpclib unless you have the package gpclib installed.

install.packages("gpclib")
library(maptools)
Loading required package: sp
Checking rgeos availability: FALSE
Note: when rgeos is not available, polygon geometry computations in maptools depend on gpclib,  which has a restricted licence. It is disabled by default; to enable gpclib, type gpclibPermit()

> gpclibPermit()
[1] TRUE
Warning message:
In gpclibPermit() :
support for gpclib will be withdrawn from maptools at the next major release
> gpclibPermitStatus()
[1] TRUE