如何从空间多边形数据框为R中的传单地图上的多边形创建动态标签

如何从空间多边形数据框为R中的传单地图上的多边形创建动态标签,r,leaflet,geospatial,osrm,r-leaflet,R,Leaflet,Geospatial,Osrm,R Leaflet,使用此脚本,我将显示一个包含三个等时线的地图。我希望地图有包含每个等时线/多边形表示的最大时间的标签 我应该如何引用addPolygons()部分中的空间数据帧(iso1/2/3) 在下面的三个addPolygons()中,我都尝试了不同的方法,但没有成功:((尽管脚本仍然有效) 库(osrm) 图书馆(单张) 图书馆(绿宝石) #制作等时线 iso1=osrmIsochrone(loc=c(9.2,45.5), 中断=顺序(从=0, to=45, 通过=5), res=75) iso2=osr

使用此脚本,我将显示一个包含三个等时线的地图。我希望地图有包含每个等时线/多边形表示的最大时间的标签

我应该如何引用addPolygons()部分中的空间数据帧(iso1/2/3)

在下面的三个addPolygons()中,我都尝试了不同的方法,但没有成功:((尽管脚本仍然有效)

库(osrm)
图书馆(单张)
图书馆(绿宝石)
#制作等时线
iso1=osrmIsochrone(loc=c(9.2,45.5),
中断=顺序(从=0,
to=45,
通过=5),
res=75)
iso2=osrmIsochrone(loc=c(12.51182,41.92631),
中断=顺序(从=0,
to=45,
通过=15),
res=100)
iso3=osrmIsochrone(loc=c(11.25581,43.76956),
中断=顺序(从=0,
to=45,
通过=15),
res=100)
#单张颜色
绿色=绿色(9)
#调色板
帕尔1%
添加多边形(数据=iso2,
填充=真,
fillOpacity=0.7,
fillColor=~pal2(id),stroke=FALSE,label=~max)%>%
添加多边形(数据=iso3,
填充=真,
fillOpacity=0.7,
fillColor=~pal3(id),笔划=FALSE,标签=~iso3@data$max)

使用group参数指定标签。

如果将最大值
作为.character
提供给标签,则该参数有效

library(osrm)
library(leaflet)
library(viridisLite)

# Making isochrones
iso1 = osrmIsochrone(loc = c(9.2,45.5), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 5),
                     res=75)
iso2 = osrmIsochrone(loc = c(12.51182,41.92631), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 15),
                     res=100)
iso3 = osrmIsochrone(loc = c(11.25581,43.76956), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 15),
                     res=100)

# colors for leaflet 
vir = viridis(9)

# palette
pal1 <- colorNumeric(
  palette = vir,
  domain = iso1@data$id)
pal2 <- colorNumeric(
  palette = "Blues",
  domain = iso2@data$id)
pal3 <- colorNumeric(
  palette = "Reds",
  domain = iso3@data$id)

# Plotting interactive map using spdf
leaflet()%>%
  addTiles("http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", attribution = 'Google')%>%
  addPolygons(data = iso1,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal1(id),stroke = FALSE, label = as.character(iso1@data$max))%>%
  addPolygons(data = iso2,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal2(id),stroke = FALSE, label = as.character(iso2@data$max))%>%
  addPolygons(data = iso3,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal3(id),stroke = FALSE, label = as.character(iso3@data$max))
库(osrm)
图书馆(单张)
图书馆(绿宝石)
#制作等时线
iso1=osrmIsochrone(loc=c(9.2,45.5),
中断=顺序(从=0,
to=45,
通过=5),
res=75)
iso2=osrmIsochrone(loc=c(12.51182,41.92631),
中断=顺序(从=0,
to=45,
通过=15),
res=100)
iso3=osrmIsochrone(loc=c(11.25581,43.76956),
中断=顺序(从=0,
to=45,
通过=15),
res=100)
#单张颜色
绿色=绿色(9)
#调色板
帕尔1%
添加多边形(数据=iso2,
填充=真,
fillOpacity=0.7,
fillColor=~pal2(id),stroke=FALSE,label=as.character(iso2@data$max))%>%
添加多边形(数据=iso3,
填充=真,
fillOpacity=0.7,
fillColor=~pal3(id),stroke=FALSE,label=as.character(iso3@data$max))
leaflet()%>%
  addTiles("http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", attribution = 'Google')%>%
  addPolygons(data = iso1,
              fill = TRUE, 
              group = "label1",
              fillOpacity = 0.7,
              fillColor = ~pal1(id),stroke = FALSE, label = iso1@data$max)%>%
  addPolygons(data = iso2,
              fill = TRUE, 
              group = "label2",
              fillOpacity = 0.7,
              fillColor = ~pal2(id),stroke = FALSE, label = ~max)%>%
  addPolygons(data = iso3,
              fill = TRUE, 
              group = "label3",
              fillOpacity = 0.7,
              fillColor = ~pal3(id),stroke = FALSE, label = ~iso3@data$max)
library(osrm)
library(leaflet)
library(viridisLite)

# Making isochrones
iso1 = osrmIsochrone(loc = c(9.2,45.5), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 5),
                     res=75)
iso2 = osrmIsochrone(loc = c(12.51182,41.92631), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 15),
                     res=100)
iso3 = osrmIsochrone(loc = c(11.25581,43.76956), 
                     breaks = seq(from = 0,
                                  to = 45, 
                                  by = 15),
                     res=100)

# colors for leaflet 
vir = viridis(9)

# palette
pal1 <- colorNumeric(
  palette = vir,
  domain = iso1@data$id)
pal2 <- colorNumeric(
  palette = "Blues",
  domain = iso2@data$id)
pal3 <- colorNumeric(
  palette = "Reds",
  domain = iso3@data$id)

# Plotting interactive map using spdf
leaflet()%>%
  addTiles("http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", attribution = 'Google')%>%
  addPolygons(data = iso1,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal1(id),stroke = FALSE, label = as.character(iso1@data$max))%>%
  addPolygons(data = iso2,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal2(id),stroke = FALSE, label = as.character(iso2@data$max))%>%
  addPolygons(data = iso3,
              fill = TRUE, 
              fillOpacity = 0.7,
              fillColor = ~pal3(id),stroke = FALSE, label = as.character(iso3@data$max))