Cette question peut être un doublon de ne précédente sans réponse . J'ai toujours le problème.
J'essaie d'utiliser un fichier de formes de code postal et je rencontre l'erreur suivante:
tract <- readOGR(dsn = ".", layer = "cb_2013_us_zcta510_500k")
tract<-fortify(tract, region="GEOID10")
Error: isTRUE(gpclibPermitStatus()) is not TRUE
J'ai essayé d'installer gpclib pour résoudre ce problème, mais je reçois l'erreur suivante:
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
Aidez-moi?
J'ai appris cette réponse ailleurs: je devais taper
install.packages("gpclib", type="source")
et cela a très bien fonctionné.
Vous pouvez consulter le fichier master de Hadley pour ggplot2/R/fortify-spatial.r. Sur la base de ce lien externe, je crois comprendre que les lignes 31 à 34 (dans sa forme actuelle) lisaient quelque chose comme
# Union together all polygons that make up a region
try_require(c("gpclib", "maptools"))
unioned <- unionSpatialPolygons(cp, invert(polys))
Donc, à l'époque, une façon d'attaquer le problème était d'activer la licence
library(rgdal)
library(maptools)
if (!require(gpclib)) install.packages("gpclib", type="source")
gpclibPermit()
En tant que @rcs, @Edzer Pebesma, et ce answer mention, rgeos
devrait résoudre le problème pour les installations plus récentes.
J'ai rencontré le même problème mais la solution était légèrement différente de celles répertoriées ci-dessus.
Comme mentionné par d'autres, le problème est la dépendance à gpclib, qui est requise par maptools.
Cependant, après le chargement de maptools, il a fourni le message suivant ...
> 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()
Donc, les rgeos peuvent être utilisés à la place de gpclib. Pour résoudre, j'ai fait ce qui suit ...
install.packages('rgeos', type='source')
install.packages('rgdal', type='source')
La réinstallation de rgdal supprime la dépendance à gpclib et pointe vers rgeos.
J'espère que cela vous sera utile.