В R я хотел бы помочь в попытке воспроизвести учебник здесь для моего собственного файла SHP (Shapefile) или карты, чтобы быть интерактивной диаграммой choropleth..
Карта из малых районов Северной Ирландии. Который можно найти здесь.
Ниже приведены шаги, которые я сделал до сих пор...
Я думаю, что проблема заключается в настройке данных geographyConfig
...
Любая помощь будет высоко оценена....
# Download and unzip the data
system('wget http://www.nisra.gov.uk/archive/geography/digital_products/SA2011_Esri_Shapefile.zip')
system('unzip SA2011_Esri_Shapefile.zip')
# Load libraries
library(rgdal)
library(rgeos)
library(rMaps)
shp.file <- 'SA2011.shp'
# Convert projection
system(paste0('ogr2ogr tmp.shp ',
shp.file,
' -t_srs "+proj=longlat +ellps=WGS84 +no_defs +towgs84=0,0,0"'))
# Read in the data
xx <- readOGR(dsn=getwd(),layer='tmp')
mm <- [email protected]
head(mm)
n <- nrow(mm)
dat.val <- mm$Hectares
# Add extra year data
mm <- mm[rep(seq(n),3),]
mm$Hectares <- c(dat.val,rev(dat.val),dat.val/2)
mm$year <- rep(c(2000:2002),each=n)
colnames(mm)[1] <- 'ID'
id.var <- 'SA2011'
# Convert to json
system(paste0('topojson -o tmp.json -s 1e-7 -q 1e5 tmp.shp -p ID=',
id.var,
' --id-property ',
id.var))
d1 <- ichoropleth(Hectares ~ ID, data = mm, ncuts = 9, pal = 'YlOrRd',
animate = 'year', map = 'states'
)
d1$set(
geographyConfig = list(
dataUrl = "tmp.json"
),
scope = 'states',
setProjection = '#! function( element, options ) {
var projection, path;
projection = d3.geo.mercator()
.center([-7, 55]).scale(element.offsetWidth)
.translate([element.offsetWidth / 2, element.offsetHeight / 2]);
path = d3.geo.path().projection( projection );
return {path: path, projection: projection};
} !#'
)
d1$save('rMaps.html', cdn = TRUE)
Загрузка rMaps.html
не создает соответствующую карту, так как она показывает только разрезы внизу, но не карту.