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. Пожалуйста, сообщите в комментариях, если я ошибаюсь, просто скопируйте мой первоначальный вопрос.

GPierre
источник
Добро пожаловать на наш сайт! Предпочтительный метод - пометить ваш исходный вопрос для миграции : это создаст автоматические ссылки между двумя версиями, но при этом проинформирует людей о том, что ответы следует публиковать здесь, если это возможно.
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

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

Сезар Аркеро
источник