Если ваша карта имеет многоугольники, рассмотрим 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
Теперь визуализируйте результат:
> 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()
Вы можете редактировать настройки по умолчанию для аргумента keep
, уменьшая количество сохраняемых точек и, таким образом, дополнительно уменьшая размер вашего объекта. Это происходит за счет более грубого изображения.