R语言 |Leaflet第一节
Leaflet是最受欢迎的交互式地图开源 JavaScript 库之一,本节将介绍Leaflet包基本内容。
1.Leaflet包的安装与参考资料
- Leaflet说明文档:https://rstudio.github.io/leaflet/
- GitHub网址:https://github.com/rstudio/leaflet
- 资料:https://www.geeksforgeeks.org/leaflet-package-in-r/
- leaflet-extras:http://leaflet-extras.github.io/leaflet-providers/preview/
- https://aagarw30.gitbooks.io/r-leaflet/content/1.4_add3tiles.html
# install.packages("leaflet")
# devtools::install_github("rstudio/leaflet")
2.基本用法
2.1显示
leaflet()
用来生成空的地图对象
addTiles()
来加载底图,默认为OSM,
setView
设置显示试图位置和缩放级别
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
setView(lng=116.40, lat=39.92, zoom = 11)
m # Print the map
2.2添加标记
addMarkers
函数添加标记,包括下面4个参数。标记点的数据来源可以说是shp格式、或者数据框格式、或者手动输入等
lng
:确定标记位置的经度
lat
:确定制造商位置的纬度
popup
:点击标记后弹出窗口上显示的文本
label
:悬停或静态时显示文本标签
2.2.1通过给定坐标显示点位标记
# 如图所示显示北京和上海
m <- leaflet() %>%
addTiles() %>% # Add OSM map tiles
addMarkers(lng= c(116.40, 121.48), lat= c(39.92, 31.22), popup = c("北京", "上海") )
m # Print the map
768, lat=-36.852, popup="The birthplace of R")
2.2.2官方示例
显示quakes
点位数据,该数据包点位编号、经纬度以及其他属性等,将其关联到addMarkers
的参数上
data(quakes)
# Show first 20 rows from the `quakes` dataset
leaflet(data = quakes[1:20,]) %>%
addTiles() %>%
addMarkers(~long, ~lat, popup = ~as.character(mag), label = ~as.cha
3.底图
names(providers)
可显示内置的底图
3.1加载不同的底图
m %>% addProviderTiles(providers$Esri.WorldStreetMap) # ESRI
m %>% addProviderTiles(providers$NASAGIBS.ViirsEarthAtNight2012) # NASA
3.2基于WMSR方式加载底图
addWMSTiles
函数来加载,可通过leaflet-extras网站网站来选择不同的底图
leaflet() %>% addTiles() %>% setView(-93.65, 42.0285, zoom = 4) %>%
addWMSTiles(
"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",
layers = "nexrad-n0r-900913",
options = WMSTileOptions(format = "image/png", transparent = TRUE),
attribution = "Weather data ? 2012 IEM Nexrad"
)