За допомогою RI хочемо скласти анімовану хороплетну карту з rMaps
пакетом та спеціальною картою. Я намагався наслідувати приклад Дієго Валле, описаний тут, і використовувати користувальницьку інформацію про карту для даних .
Однак карта не відображається . Але, легенда з належним клавішею заповнення з’являється на панелі анімації року. Файл topoJson здається нормальним.
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)
#Data:
SDLOG<-read.table("https://raw.githubusercontent.com/gupierre/GHA_vol/master/Data/sdlog.csv", header=T,stringsAsFactors=F, sep =",")
head(SDLOG)
year name sdlog type
>1 2004 Greater Accra 0.20030687 urban
>2 2005 Greater Accra 0.15322712 urban
>3 2006 Greater Accra 0.10782677 urban
#Map:
library(rCharts);library(rMaps)
d1 <- ichoropleth(sdlog ~ name, data = SDLOG[SDLOG$type=="rural",], ncuts = 7, pal = 'YlOrRd', animate = 'year', map = 'admin_1')
d1$set(
geographyConfig = 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, path;
projection = d3.geo.mercator()
.center([8, -1]).scale(element.offsetWidth)
.translate([element.offsetWidth / 2, element.offsetHeight / 2]);
path = d3.geo.path().projection( projection );
return {path: path, projection: projection};
} !#'
)
d1
Примітка: це запитання було задано під час stackoverflow без успіху. Я не знаю політики щодо ГІС щодо розміщення запитань від SO. Будь ласка, порадьте в коментарях, якщо я помиляюся, просто скопіюючи вставлення мого початкового запитання.