web-dev-qa-db-ja.com

gpclibPermit()をTRUEにする方法

gpclibPermit()を実行すると、FALSEという答えが得られます。どうすればTRUEに変更できますか?

20
PAC

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

この時点で、gpclibPermitgpclibPermitStatusが実際に何をしているのかを確認すると役立ちます。

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

私自身もこの問題を抱えており、rgeosをインストールするのが最も簡単で、maptoolsをアタッチする前に確実にアタッチされていることを確認しました

library(ggplot2)
library(rgeos)
library(maptools)
12
Dave