Suite

RMaps choroplèthe avec json personnalisé


Avec R je veux faire une carte choroplèthe animée avec lerCartespackage et une carte personnalisée. J'ai essayé de suivre l'exemple de Diego Valle décrit ici et d'utiliser les informations cartographiques personnalisées pour Datamaps.

Pourtant, la carte ne s'affiche pas. Mais, la légende avec la touche de remplissage appropriée apparaît avec la barre d'animation de l'année. Le fichier topoJson semble être bon.

library(rCharts);library(rMaps);library(rgdal) map = readOGR("https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/GHA_adm/GHA_adm1.topo.json", layer="admin_1 ",stringsAsFactors=F) #Données : SDLOG<-read.table("https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/sdlog.csv", header=T,stringsAsFactors=F, sep = ",") head(SDLOG) année nom sdlog type >1 2004 Grand Accra 0,20030687 urbain >2 2005 Grand Accra 0,15322712 urbain >3 2006 Grand Accra 0,10782677 urbain #Map: library(rCharts);library(rMaps) d1 <- ichoropleth( sdlog ~ nom, data = SDLOG[SDLOG$type=="rural",], ncuts = 7, pal = 'YlOrRd', animate = 'year', map = 'admin_1') d1$set( géographieConfig = list( dataUrl = "https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/GHA_adm/GHA_adm1.topo.json" ), scope = 'admin_1', setProjection = '#! function( element, options ) { var projection , chemin ; projection = d3.geo.mercator() .center([8, -1]).scale(element.offsetWidth) .translate([element.offsetWidth / 2, element.off setHeight / 2]); chemin = d3.geo.chemin().projection( projection ); return {chemin : chemin, projection : projection} ; } !#' ) d1

Remarque : cette question a été posée sur stackoverflow sans succès. Je ne connais pas la politique sur les SIG pour poster des questions de SO. S'il vous plaît aviser dans les commentaires si je me trompe en simplement copier-coller ma question initiale.


Il est difficile de dire exactement ce que vous essayez de faire car l'URL que vous utilisez comme exemple ne montre en fait rien. La même chose avec l'url de vos données.

Quoi qu'il en soit, vous disposez ici d'un code simplifié (modifiant un peu les quelques registres que vous affichez à l'aide de head()) afin de vous débarrasser de cette question sans réponse.

library(rMaps) library(plyr) #nouveau chemin vers csv SDLOG <- read.table("csv.csv", header=T, stringsAsFactors=F, sep =",") SDLOG <- mute(SDLOG, state = c ("UT", "NE", "AL")) #add place for plotting head(SDLOG) year name sdlog type state 1 2004 Grand Accra 0,2003069 urbain UT 2 2005 Grand Accra 0,1532271 urbain NE 3 2006 Grand Accra 0,1078268 urbain AL 4 2004 Grand Accra 0,1555555 urbain UT 5 2007 Grand Accra 0,3000000 urbain NE 6 2005 Grand Accra 0,2500000 urbain AL #Map: d1 <- ichoropleth(sdlog ~ state, data = SDLOG[SDLOG$type=="urban",], ncuts = 7 , pal = 'YlOrRd', animer = 'year') d1