[英]Can you switch from tmap to leaflet in R?
我想看看是否可以创建一个tmap map,将其转换为leaflet map,然后添加Z30654F532773E69DE功能。
例如:
battle_dat<-read.csv("GeoBattleData_YZ.csv") # from https://doi.org/10.7910/DVN/1KCCX2
battle_dat<-battle_dat %>% select(war,atkr,defr,date,long,lat,dist_att,dist_def,duration) %>%
mutate(year=substr(date,1,4))
battle_dat<-battle_dat[!is.na(battle_dat$long),]
battle_dat<-SpatialPointsDataFrame(coords = battle_dat[,c(5:6)],data = battle_dat,proj4string=CRS("+init=EPSG:4326"))
tm<-tm_shape(dat) + tm_dots(col="duration") # make tmap
tm<-tmap_leaflet(tm) # convert to leaflet
tm %>%
addDrawToolbar(
targetGroup='draw',
polylineOptions=FALSE,
markerOptions = FALSE,
circleOptions = T,
polygonOptions=F,
singleFeature=T,
circleMarkerOptions=F)
我收到以下错误:
“调度错误(地图,方法,leaflet = {:无效的 map 参数”
因此,我确定这是否是我的问题,或者您根本无法做我想做的事情。 这没什么大不了的,但我发现在 tmap 中做一些事情和在 leaflet 中做其他事情更容易。
使用 tmap package 中的 qtm 我能够制作基本的 plot 战斗站点:
library(tidyverse)
library(tmap)
library(leaflet)
library(leaflet.extras)
library(sp)
GeoBattleData_YZ <- read.csv("GeoBattleData_YZ.csv") # from https://doi.org/10.7910/DVN/1KCCX2
battle_dat<-GeoBattleData_YZ %>%
select(war,atkr,defr,date,long,lat,dist_att,dist_def,duration) %>%
mutate(year=substr(date,1,4))
battle_dat<-battle_dat[!is.na(battle_dat$long),]
battle_dat<-SpatialPointsDataFrame(coords = battle_dat[,c(5:6)],
data = battle_dat,
proj4string = CRS("+init=EPSG:4326"))
tm <-qtm(battle_dat,
symbols.col = 'duration')
tm
map<-tmap_leaflet(tm) %>%
addDrawToolbar(
targetGroup='draw',
polylineOptions=FALSE,
markerOptions = FALSE,
circleOptions = T,
polygonOptions=F,
singleFeature=T,
circleMarkerOptions=F)
map
我认为,您的示例应该在您的初始 tm_shape(dat) 行中调用 Battle_dat 而不是 dat。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.