1. 程式人生 > >leaflet:熱力圖

leaflet:熱力圖

library(readr)
library(dplyr)
library(geohash)
library(leaflet)

rider_gps <- read_tsv("~/Downloads/GALAXY_30254069_20180921_170348.txt_30254069_20180921_170348.txt")
geohash8_df <- rider_gps %>%
 cbind(gh_decode(gh_encode(lats = rider_gps$bmuserlat/1e6, lngs = rider_gps$bmuserlng/1e6, precision=7))) %>%
 mutate(lng1=lng-lng_error, lng2=lng+lng_error, lat1=lat-lat_error, lat2=lat+lat_error) %>%
 group_by(lng1, lng2, lat1, lat2, geohash) %>%
 summarise(cnt=n()) %>%
 mutate(obs_cnt=ifelse(cnt > 5000, 5000, ifelse(cnt < 5, 0, cnt))) %>%
 filter(cnt >= 5)
pal <- colorNumeric("Greens", domain = 0:5000)

leaflet() %>%
 addTiles(
   'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
   options=tileOptions(tileSize=256, minZoom=3, maxZoom=19, subdomains="1234"),
   attribution = '&copy; <a href="http://ditu.amap.com/">高德地圖</a>',
   group="Road Map"
 ) %>%
 addRectangles(data=geohash8_df, lng1=~lng1, lat1=~lat1, lng2=~lng2, lat2=~lat2,
               fillColor = ~pal(obs_cnt),
               fillOpacity = 0.8,
               color="black",
               opacity=1,
               weight=1,
               label=~paste0("cnt:", obs_cnt)
 )