Интерактивная карта для данных о продажах на основе широты и долготы - PullRequest
0 голосов
/ 28 августа 2018

У меня есть фрейм данных только с 3 столбцами, а именно широта, долгота и продажи. Эти широты и долготы принадлежат "Саудовской Аравии". Я хочу создать интерактивную тепловую карту для продаж на основе широты и долготы.

Что-то вроде примера "Zip-Explorer" в блестящем

 http://shiny.rstudio.com/gallery/superzip-example.html

Я пытался экспериментировать с различными примерами

1. http://www.geo.ut.ee/aasa/LOOM02331/heatmap_in_R.html 

Это не интерактивная карта, следовательно, мы попробовали пример Shiny-leaflet.

2. https://stackoverflow.com/questions/37881107/shiny-is-there-a-way-to-enable-mouse-wheel-zoom-only-after-click-on-map-in-shin?rq=1 

В этом случае изменение региона на США на Саудовскую Аравию или SA не помогает

 Country = map("world", fill = TRUE, plot = FALSE, regions="USA", exact=TRUE)

В двух словах, я не знаю, как продолжать строить интерактивные карты в R.

Любое предложение будет полезно. Примерный фрейм данных приведен ниже.

data <- data.frame(latitude=c(37.78,24.77,21.56,24.77,21.56,21.56,21.47,21.48,26.39,24.77),longitude=c(-100,46.74,39.19,46.74,39.2,39.2,39.23,39.19,49.98,46.74),sales=c(830,128,120,73,41,37,35,31,29,28))

1 Ответ

0 голосов
/ 31 августа 2018

Листовка отлично подходит для этого типа картографии, и ее легко масштабировать для этого типа использования. Только с точками широты и долготы трудно составить тепловую карту. Для этого примера я просто использовал круги, которые я закрасил colorFactor, чтобы они отражали значение в data$sales:

library(leaflet)

data <- data.frame(latitude=c(37.78,24.77,21.56,24.77,21.56,21.56,21.47,21.48,26.39,24.77),
                   longitude=c(-100,46.74,39.19,46.74,39.2,39.2,39.23,39.19,49.98,46.74),
                   sales=c(830,128,120,73,41,37,35,31,29,28))

pal <- colorFactor(
  palette = 'Blues', domain = data$sales)

leaflet(data) %>% addTiles() %>%
  addCircleMarkers(lat = ~latitude, lng = ~longitude, color= ~pal(sales))

дает карту ваших точек данных, вот одна из областей:

enter image description here

...