leaflet在線地圖可視化——構造路徑圖

根據先前幾篇內容的框架,今天介紹leaflet在線地圖的第三篇,以線條元素構造的路徑圖。

library(leaflet)library(dplyr)data<-read.table("D:/R/File/subwayline.txt",header=TRUE,stringsAsFactors = FALSE)data$Type<-as.factor(data$Type)data1<-filter(data,Type=="NO1")data2<-filter(data,Type=="NO5")

以上我用百度地圖的坐標拾取平台采點拾取的背景地鐵一號線和五號線的車站地理位置信息,(因為沒有現成的數據,只能手工采點,可能不是很準確)

今天要介紹的leaflet類型是線條,也即addPolylines函數,其基本語法如下:

addPolylines(map, lng = NULL,lat = NULL, #指定數據源並做經緯度聲明 layerId = NULL, group = NULL, #圖層分組(製作動態可見性交互時使用) stroke = TRUE, #是否呈現路徑線 color = "#03F",weight = 5,opacity = 0.5, #關於線條的顏色、寬度、透明度 fill = FALSE, fillColor = color, fillOpacity = 0.2, dashArray = NULL, smoothFactor = 1, noClip = FALSE, #線型參數,平滑度等 popup = NULL, options = pathOptions(), data = getMapData(map)) #彈窗、選項控制

以下構造色盤:

pal <- colorFactor(topo.colors(2),data$Type)

作圖函數:使用默認點標識

leaflet()%>%addTiles()%>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addMarkers(data=data,~lon, ~lat,popup = ~address)

使用可自定義的圓點標識車站位置

leaflet()%>%addTiles()%>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircles(data=data,~lon, ~lat,popup = ~address,color="red")

leaflet()%>%addTiles()%>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircleMarkers(data=data,~lon, ~lat,popup = ~address,color=~Type)

以下是幾種比較常用的地圖背景素材

addProviderTiles("Esri.WorldStreetMap") addProviderTiles("Esri.WorldImagery") addProviderTiles("Esri.WorldTerrain") addProviderTiles("Esri.NatGeoWorldMap")

leaflet()%>%addProviderTiles("Esri.WorldStreetMap")%>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircles(data=data,~lon, ~lat,popup = ~address,color=~Type)

leaflet()%>%addProviderTiles("Esri.WorldImagery")%>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircles(data=data,~lon, ~lat,popup = ~address,color=~Type)

leaflet()%>%addProviderTiles("Esri.WorldGrayCanvas") %>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircles(data=data,~lon, ~lat,popup = ~address,color=~Type)

leaflet()%>%addProviderTiles("Esri.NatGeoWorldMap") %>%addPolylines(data=data1,~lon,~lat,color="blue")%>%addPolylines(data=data2,~lon,~lat,color="green")%>%addCircles(data=data,~lon, ~lat,popup = ~address,color=~Type)

是不是覺得花樣不夠多呀,那好吧,以下這些,全部都送給你,拿好不謝!

################################ OpenStreetMap.Mapnik# OpenStreetMap.BlackAndWhite# OpenStreetMap.DE# OpenStreetMap.France# OpenStreetMap.HOT# OpenTopoMap# Thunderforest.OpenCycleMap# Thunderforest.Transport# Thunderforest.TransportDark# Thunderforest.SpinalMap# Thunderforest.Landscape# Thunderforest.Outdoors# Thunderforest.Pioneer# OpenMapSurfer.Roads# OpenMapSurfer.Grayscale# Hydda.Full# Stamen.Toner# Stamen.TonerBackground# Stamen.TonerLite# Stamen.Watercolor# Stamen.Terrain# Stamen.TerrainBackground# Stamen.TopOSMRelief# Esri.WorldStreetMap# Esri.DeLorme# Esri.WorldTopoMap# Esri.WorldImagery# Esri.WorldTerrain# Esri.WorldShadedRelief# Esri.WorldPhysical# Esri.OceanBasemap# Esri.NatGeoWorldMap# Esri.WorldGrayCanvas# MtbMap# CartoDB.Positron# CartoDB.PositronNoLabels# CartoDB.PositronOnlyLabels# CartoDB.DarkMatter# CartoDB.DarkMatterNoLabels# CartoDB.DarkMatterOnlyLabels# HikeBike.HikeBike# HikeBike.HillShading# NASAGIBS.ModisTerraTrueColorCR# NASAGIBS.ModisTerraBands367CR# NASAGIBS.ViirsEarthAtNight2012# NASAGIBS.ModisTerraLSTDay# NASAGIBS.ModisTerraSnowCover# NASAGIBS.ModisTerraAOD# NASAGIBS.ModisTerraChlorophyll#################################################

細數也有好幾十個,夠你玩一陣子了,使用方法僅僅是通過設置圖層函數進行調用,然後就可以愉快的在圖層上面進行可視化操作了。

addProviderTiles("地圖類型")

聯繫方式:

wechat:ljty1991

Mail:578708965@qq.com

個人公眾號:數據小魔方(datamofang)

團隊公眾號:EasyCharts

qq交流群:[魔方學院]553270834


推薦閱讀:

【運營實操】如何在15分鐘內學會"高大上"的數據地圖分析方法?
如何繪製學校地圖
Esri總裁關於如何做好地理產品設計的7點建議
數說地圖之投影變形

TAG:R编程语言 | 数据可视化 | 地图 |