如何将gpclibPermit()转为TRUE

时间:2014-01-13 14:15:11

标签: r maptools

当我运行gpclibPermit()时,我得到了答案FALSE。如何将其更改为TRUE

2 个答案:

答案 0 :(得分:36)

我自己一直在努力解决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,否则您无法授予gpclib使用gpclib的权限。

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

答案 1 :(得分:11)

我自己遇到了这个问题,发现安装rgeos最简单,并确保在附加maptools

之前附加了library(ggplot2) library(rgeos) library(maptools)
from IPython.display import HTML, display

data = [[1,2,3],
        [4,5,6],
        [7,8,9],
        ]

display(HTML(
   '<table><tr>{}</tr></table>'.format(
       '</tr><tr>'.join(
           '<td>{}</td>'.format('</td><td>'.join(str(_) for _ in row)) for row in data)
       )
))