2015-06-11 16 views
19

Diese Frage kann ein Duplikat von an earlier unanswered one sein. Ich habe immer noch das Problem.Fehler: isTRUE (gpclibPermitStatus()) ist nicht TRUE

Ich versuche, eine zipcode Shape-Datei zu verwenden und mit dem folgenden Fehler kommen:

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

Ich habe versucht, gpclib Installation dieses Problem zu beheben, aber dann bekomme ich folgende Fehlermeldung:

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 

Hilfe?

+0

ist 'rgeos' auf Ihrem System installiert? http://cran.r-project.org/web/packages/rgeos/index.html – rcs

+0

Es ist jetzt, und ich habe immer noch das gleiche Problem. – garson

+6

Wenn Sie 'rgdal',' rgeos' und 'ggplot2' installiert haben, sollten Sie diesen Fehler nach dem Neustart von R nicht mehr sehen. Gpclib ist nicht mehr notwendig. –

Antwort

3

Ich habe gelernt, diese Antwort an anderer Stelle: Ich hatte

install.packages("gpclib", type="source")

und es funktionierte gut zu schreiben.

+1

Bitte beachten Sie, dass das Paket gpclib nur für nichtkommerziellen Gebrauch frei ist; Seine restriktive Lizenz war der Hauptgrund, sich davon abhängig zu machen. –

21

Sie können Hadleys master Datei für ggplot2/R/fortify-spatial.r betrachten. Basierend auf this außerhalb Link, mein Verständnis ist, dass Linien 31-4 (in seiner derzeitigen Form) verwendet, um etwas wie

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

So damals eine Möglichkeit zu lesen, das Problem in Angriff war in der Lizenz drehen

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

Wie @rcs, @Edzer Pebesma, und diese answer Erwähnung, rgeos sollte das Problem für neuere Installationen beheben.

8

Ich stieß auf das gleiche Problem, aber die Lösung war etwas anders als die oben aufgeführten.

Wie von anderen erwähnt, ist das Problem die Abhängigkeit von gpclib, die von maptools benötigt wird.

jedoch nach dem Laden MapTools, sofern es die folgende Meldung ...

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

So kann rgeos statt gpclib verwendet werden. Zu beheben, habe ich die folgende ...

install.packages('rgeos', type='source') 
install.packages('rgdal', type='source') 

Die Neuinstallation von rgdal die Abhängigkeit von gpclib und verweist auf rgeos entfernt.

Hoffe, das ist hilfreich.

+0

Neuinstallation von rgdal nach der Installation von RGEOS und maptools half mir! – Jens