22

当我跑步时gpclibPermit(),我得到了答案FALSE。我怎样才能改变它TRUE

4

2 回答 2

38

我自己也在为这个gpclibPermit问题苦苦挣扎。您没有提供可重现的示例,但我猜您的会话是这样的:

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

gpclibPermit在这一点上,它有助于查看gpclibPermitStatus实际做了什么:

> 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>

也就是说,除非您安装了软件包,否则您无法授予maptools使用权限。 gpclibgpclib

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
于 2014-03-07T21:51:08.597 回答
14

我自己遇到了这个问题,发现它最容易安装rgeos,并确保在附加之前已附加maptools

library(ggplot2)
library(rgeos)
library(maptools)
于 2016-02-02T18:59:41.390 回答