# загрузка пакетов
library('data.table')
library('WDI')
library('leaflet')
# https://cran.r-project.org/bin/windows/Rtools/
# 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
На этой карте показано расположение аптек в г.Уренгой. Список аптек получен с Портала открытых данных РФ, географические координаты определены по адресам с помощью 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)
fileURL <- 'https://raw.githubusercontent.com/aksyuk/R-data/master/examples/Urengoy_pharmacies.csv'
DT.loc <- read.csv2(fileURL, stringsAsFactors = F)
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
Карта построена по данным схемы размещения источников твёрдых бытовых отходов в Ямало-Ненецком автономном округе (Портал открытых данных РФ). Радиусы пропорциональны численности населения на 1 января 2016 года.
fileURL <- 'https://raw.githubusercontent.com/aksyuk/R-data/master/examples/YNao_tbo.csv'
DT.rad <- read.csv2(fileURL, stringsAsFactors = F, na.strings = '-')
DT.rad <- na.omit(DT.rad)
popups <- paste0('<b>', DT.rad$Наименование.источника.образования.отходов,
'</b></br>', DT.rad$Численность.населения.МО.на.01.01.2016.г.,
' чел.')
DT.rad %>%
leaflet() %>%
addTiles() %>%
addMarkers(popup = popups,
clusterOptions = markerClusterOptions()) %>%
addCircles(weight = 1, radius = sqrt(DT.rad$Численность.населения.МО.на.01.01.2016.г.) * 100)
data.frame
. R package version 1.14.0. https://CRAN.R-project.org/package=data.tableDynamic Graphics with the googleVis Package http://rpubs.com/gallery/googleVis
Дмитрий Храмов, «Сбор данных в Интернете на языке R». – М.: ДМК Пресс, 2017. – 280 с.
Документация по API Геокодера от Яндекс https://tech.yandex.ru/maps/doc/geocoder/desc/concepts/about-docpage/
Simon Munzert, Christian Rubba, Peter Meisner, Dominic Nyhuis Automated Data Collection with R. Wiley, 2015 https://books.google.ru/books?id=X-7sBQAAQBAJ&pg=PA96&lpg=PA96&dq=r+xml+xpath+returns+empty&source=bl&ots=OSnRWmFKTR&sig=ACfU3U2wE7shk3mFHrLrlMkFSfwvuAYpEg&hl=ru&sa=X&ved=2ahUKEwiu8_nVmrHhAhUMs4sKHe5vDFIQ6AEwCXoECAkQAQ#v=onepage&q=r%20xml%20xpath%20returns%20empty&f=false