Я создал карту в R, используя ggplotly. Чтобы создать ссылку, она должна быть 524 КБ или меньше, но в настоящее время она составляет 1,2 МБ. Есть ли хорошие способы уменьшить размер файла, чтобы я мог его экспортировать? Или это совсем нереально?
Уменьшить размер файла графика (R) (по сюжету)
comment
Смотрите мой ответ ниже. Одним из узких мест на вашей карте может быть то, что она просто генерируется со слишком большим количеством точек. В этом случае уменьшение количества точек, используемых для создания карты, приведет к уменьшению размера файла, возможно, даже ниже порога в 524 КБ, к которому вы стремитесь.
- person Rich Pauloo   schedule 07.09.2018
Ответы (1)
Если на вашей карте есть многоугольники, обратите внимание на 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
, уменьшив количество сохраняемых точек и, таким образом, еще больше уменьшив размер вашего объекта. Это происходит за счет более грубого изображения.
person
Rich Pauloo
schedule
07.09.2018
Спасибо, Рич! Это именно то, что я искал.
- person DaveArmstrong; 10.06.2021