Создать .Rmd скрипт, который генерирует html-отчёт с двумя картами:
Картограмма с таблицей стран мира по показателю из базы Всемирного банка (интерактивная картограмма из примера).
Карта с маркерами или с радиусами, построенная по набору данных с Портала открытых данных РФ.
WDI: любой показатель из раздела “Climate Change” (Изменение климата).
В данной работе используется следующий показатель: CO2 emissions (kt)- выбросы CO2 (тыс. Т).
# загрузка пакетов
library('data.table')
library('WDI')
library('leaflet')
# devtools::install_github('mages/googleVis')
suppressPackageStartupMessages(library('googleVis'))
# для загрузки свежей версии pandoc:
# https://github.com/pandoc-extras/pandoc-nightly/releases/tag/hash-7c20fab3
# архив pandoc-windows-7c20fab3.zip распаковать в RStudio/bin/pandoc
# данные по ВВП по ППП
indicator.code <- 'EN.ATM.CO2E.KT'
DT <- data.table(WDI(indicator = indicator.code, start = 2014, end = 2014))
# все коды стран iso2
fileURL <- 'https://pkgstore.datahub.io/core/country-list/data_csv/data/d7c9d7cfb42cb69f4422dec222dbbaa8/data_csv.csv'
all.iso2.country.codes <- read.csv(fileURL, stringsAsFactors = F,
na.strings = '.')
# убираем макрорегионы
DT <- na.omit(DT[iso2c %in% all.iso2.country.codes$Code, ])
# объект: таблица исходных данных
g.tbl <- gvisTable(data = DT[, -'year'],
options = list(width = 300, height = 400))
# объект: интерактивная карта
g.chart <- gvisGeoChart(data = DT,
locationvar = 'iso2c',
hovervar = 'country',
colorvar = indicator.code,
options = list(width = 500,
height = 400,
dataMode = 'regions'))
# размещаем таблицу и карту на одной панели (слева направо)
TG <- gvisMerge(g.tbl, g.chart,
horizontal = TRUE,
tableOptions = 'bgcolor=\"#CCCCCC\" cellspacing=10')
# вставляем результат в html-документ
TG
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
|
|
|
На этой карте показано расположение площадок для сдачи экзамена в Государственной инспекции безопасности дорожного движения Главного управления Министерства внутренних дел Российской Федерации по городу Москве. Список аптек получен с Портала открытых данных РФ, географические координаты определены по адресам с помощью API Яндекс Геокодера.
# картинка-логотип для маркеров объекта
fileURL <- 'https://github.com/aksyuk/R-data/raw/master/pics/pharmacy-icon.png'
pharm.icon <- makeIcon(iconUrl = fileURL,
iconWidth = 31,
iconHeight = 31,
iconAnchorX = 31,
iconAnchorY = 31)
DT.loc <- read.csv2('./data.csv',stringsAsFactors = FALSE)
DT.loc$lat <- as.numeric(DT.loc$lat)
DT.loc$long <- as.numeric(DT.loc$long)
# подписи к объектам с гиперссылками
map.sites <- paste0(DT.loc$Наименование.объекта, '</br>',
DT.loc$Режим.работы, '</br>',
'<em>', DT.loc$Контактный.телефон, '</em>')
# создаём виджет с картой
myMap <- DT.loc %>% leaflet(width = 800, height = 800) %>%
addTiles() %>% addMarkers(icon = pharm.icon, popup = map.sites)
# рисуем карту
myMap