Javascript 如何在传单中应用多边形色带?
该图显示了应用于QGIS中多边形形状文件的着色带(也称为shapeburst填充)。我一直在翻阅传单文档,试图找到类似的东西,但没有成功 有没有一种方法可以将类似于屏幕截图的色带应用于传单web地图中的多边形边界Javascript 如何在传单中应用多边形色带?,javascript,leaflet,polygon,cartography,Javascript,Leaflet,Polygon,Cartography,该图显示了应用于QGIS中多边形形状文件的着色带(也称为shapeburst填充)。我一直在翻阅传单文档,试图找到类似的东西,但没有成功 有没有一种方法可以将类似于屏幕截图的色带应用于传单web地图中的多边形边界 我想你的问题是关于直接传单的解决方案,但当我与R合作时,我发现用我知道的工具回答这个问题很有趣。 想法很简单,我无法复制透明度渐变,但我认为我可以创建一个甜甜圈多边形,并在其上应用带有透明度的颜色: 创建具有负距离的缓冲区,以获得具有原始形状的较小多边形 使用缓冲区删除原始多边形的内
我想你的问题是关于直接传单的解决方案,但当我与R合作时,我发现用我知道的工具回答这个问题很有趣。
想法很简单,我无法复制透明度渐变,但我认为我可以创建一个甜甜圈多边形,并在其上应用带有透明度的颜色:
- 创建具有负距离的缓冲区,以获得具有原始形状的较小多边形
- 使用缓冲区删除原始多边形的内部
- 将传单上的甜甜圈映射为透明的
# Load libraries
library(raster)
library(sf)
library(raster)
library(dplyr)
library(ggplot2)
library(leaflet)
# Get some data
fra.sp <- getData('GADM', country = 'FRA', level = 1)
fra.sf <- st_as_sf(fra.sp)
# Create buffer
fra.sf.buf <- st_cast(st_buffer(fra.sf, dist = -0.1))
# Create holes in original polygons
fra.sf.buf.comb <- fra.sf.buf %>% st_combine() %>% st_sf()
fra.sf.doug <- st_difference(fra.sf, fra.sf.buf.comb) %>% st_cast()
# Create leaflet widget and save on disk
## Color palette
factpal <- colorFactor(rep(unique(yarrr::piratepal("basel")),
length.out = nrow(fra.sf.doug)),
fra.sf.doug$NAME_1)
m <- leaflet() %>%
addProviderTiles(providers$Stamen.Toner) %>%
addPolygons(data = fra.sf.doug.simple, weight = 1, smoothFactor = 0.75,
opacity = 0, fillOpacity = 0.6,
color = "#000000",
fillColor = ~factpal(fra.sf.doug.simple$NAME_1),
highlightOptions = highlightOptions(color = "white", weight = 2,
bringToFront = TRUE)) %>%
addPolygons(data = fra.sf.simple, weight = 1, smoothFactor = 0.75,
opacity = 1.0, fillOpacity = 0,
color = "#000000")
## Save widget
htmlwidgets::saveWidget(m, file = "m.html")
#加载库
图书馆(光栅)
图书馆(sf)
图书馆(光栅)
图书馆(dplyr)
图书馆(GG2)
图书馆(单张)
#获取一些数据
fra.sp