如果您的地图有多边形,请考虑rmapshader::ms_simplify(),它使用Visvalingam 算法来减少用于构造多边形的点数。
这是一个可重现的示例:
p <- raster::shapefile(system.file("external/lux.shp", package = "raster")) # load data
p2 <- rmapshaper::ms_simplify(p, keep_shapes = TRUE) # simplify polygons
Run Code Online (Sandbox Code Playgroud)
现在可视化结果:
par(mfrow = c(1,2))
plot(p, main = paste("before:", object.size(p), "bytes"))
plot(p2, main = paste("after:", object.size(p2), "bytes"))
dev.off()
Run Code Online (Sandbox Code Playgroud)
您可以编辑参数的默认设置keep,减少要保留的点数,从而进一步减小对象大小。这是以粗糙图像为代价的。