2015-06-11 40 views
19

To pytanie może być duplikatem an earlier unanswered one. Nadal mam problem.Błąd: isTRUE (gpclibPermitStatus()) nie jest PRAWDZIWY

Próbuję użyć shapefile ZIPCODE i wymyślanie następujący błąd:

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

Próbowałem instalacji gpclib aby rozwiązać ten problem, ale potem pojawia się następujący błąd:

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 

Wsparcie?

+0

to "rgeos" zainstalowany w twoim systemie? http://cran.r-project.org/web/packages/rgeos/index.html – rcs

+0

To jest teraz i nadal mam ten sam problem. – garson

+6

Jeśli masz zainstalowane 'rgdal',' rgeos' i 'ggplot2', nie powinieneś widzieć tego błędu po ponownym uruchomieniu R. Nie ma już potrzeby gpclib. –

Odpowiedz

3

dowiedziałem tę odpowiedź w innym miejscu: musiałem wpisać

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

i to działało dobrze.

+1

Należy pamiętać, że pakiet gpclib jest bezpłatny tylko do użytku niekomercyjnego; restrykcyjna licencja była głównym powodem do pozbycia się w zależności od niego. –

21

Możesz spojrzeć na plik Hadleya master dla ggplot2/R/fortify-spatial.r. Na podstawie this zewnętrznego linku, moje zrozumienie jest, że linie 31-4 (w jego obecnej formie) służy do odczytu coś podobnego

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

Więc wtedy jeden sposób, aby zaatakować ten problem było włączyć licencji

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

As @rcs, @Edzer Pebesma i ta answer wspomniana, rgeos powinna rozwiązać problem w przypadku nowszych instalacji.

8

Wpadłem na ten sam problem, ale rozwiązanie było nieco inne niż wymienione powyżej.

Jak wspomniano przez innych, problemem jest zależność od gpclib, która jest wymagana przez narzędzia mapowania.

Jednak po załadowaniu maptools, to pod warunkiem, że następujący komunikat ...

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

Więc rgeos może być stosowany zamiast gpclib. Aby rozwiązać, zrobiłem następujące ...

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

ponownej instalacji z rgdal usuwa zależność od gpclib i wskazuje na rgeos.

Mam nadzieję, że to będzie pomocne.

+0

Ponowna instalacja rgdala po instalacji rgeos i maptools pomogła mi! – Jens