我正在使用 R 创建具有如下几层的房屋的平面图,从底层开始:
basemap:平面图的扫描版,我把它放在底层以帮助阅读bed:房子有几十张床,分散在房子的不同房间里,根据住户的特点有不同的颜色piechart:每张床上面都有一个饼图,饼图也是根据住户的其他特征创建的,有的床有饼图,有的没有。
bed和piechart是基于基于底图创建的shp文件创建的(即我使用Mapwindow创建矢量图层,将底图作为栅格图层导入并放在底部,然后一张一张地绘制床。床的shp文件然后将其导入R,计算床多边形的质心,该质心有助于定位饼图)
我read.jpeg以前是导入basemaptoimagematrix对象,然后用新annotation_raster函数inggplot2 0.9把basemap最下面的地图图层,由于bed图层也是基于图层创建的basemap,图层完美bed叠加在图层上。basemapggplot2
我可以毫无问题地创建地图 - 如果basemap足够小(3000 x 3000像素),现在我有一个basemap像素8000+ x 3000+(object.size241823624 字节),我在创建 shp 文件时没有意识到 R 内存问题,ggplot可以编译对象如果我annotation_raster禁用了,但 R 一直说我可以在尝试将 xxxMB 包含basemap到ggplot对象中时分配内存。
我认为这与 jpg 文件的压缩无关,因为即使我进一步压缩 jpg 文件,尺寸也不会改变。但是我无法调整 jpg 文件的大小,因为我的bed图层是根据原始 jpg 文件的尺寸创建的。
basemap任何人都可以在不改变 jpeg 尺寸或其他一些技巧来处理 R 的内存限制的情况下帮助缩小图像矩阵的大小吗?谢谢。