繁体   English   中英

你能在 R 中从 tmap 切换到 leaflet 吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM