rMaps choropleth з користувацьким json


17

За допомогою 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. Будь ласка, порадьте в коментарях, якщо я помиляюся, просто скопіюючи вставлення мого початкового запитання.


Ласкаво просимо на наш сайт! Кращим методом є позначення вашого оригінального запитання щодо міграції : це створить автоматичні зв’язки між двома версіями, але інформує людей, що відповіді слід розміщувати тут, якщо це можливо.
whuber

Ви коли-небудь знаходили рішення для цього?
RJJoling

Я працюю над цим, але ваша URL-адреса насправді порушена. Чи можете ви відремонтувати їх або поділитися своїми файлами з нами?
Сезар Аркеро

Відповіді:


1

Важко сказати, що саме ви намагаєтеся зробити, тому що URL-адреса, яку ви використовуєте як приклад, насправді нічого не показує. Те ж саме з вашими URL-адресами даних. введіть тут опис зображення

У будь-якому випадку, у вас тут є простий код (трохи змінивши декілька регістрів, які ви показуєте, використовуючи head ()), щоб позбутися цього питання без відповіді.

library(rMaps)
library(plyr)

#new path to csv
SDLOG <- read.table("csv.csv", header=T, stringsAsFactors=F, sep =",")
SDLOG <- mutate(SDLOG, state = c("UT", "NE", "AL")) #add place for plotting
head(SDLOG)
  year          name     sdlog  type state
1 2004 Greater Accra 0.2003069 urban    UT
2 2005 Greater Accra 0.1532271 urban    NE
3 2006 Greater Accra 0.1078268 urban    AL
4 2004 Greater Accra 0.1555555 urban    UT
5 2007 Greater Accra 0.3000000 urban    NE
6 2005 Greater Accra 0.2500000 urban    AL

#Map:
d1 <- ichoropleth(sdlog ~ state,
                  data = SDLOG[SDLOG$type=="urban",],
                  ncuts = 7,
                  pal = 'YlOrRd',
                  animate = 'year')

d1

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.