在R中将Spatialpolygonsdataframe绘制得非常长的加速时间

时间:2017-04-19 15:36:02

标签: r plot spatial raster rgdal

我在一些SpatialPolygonDataFrames的R中制作情节,但它需要永远。我需要三个小时来保存这些图层之一的图,其中包含314个元素和权重(如RStudio所说)35 Mb。我不知道这是不是很多,但是在QGIS或ArcMap等GIS软件中显示它不需要花费很多时间。 它是如此小的意义,我想知道这是应该是怎么样或我的设置有什么问题。 这是我正在使用的代码,其中APpat是受保护区域的shapefile

> library(rgdal)
> library(rasterVis)
> APpat <- readOGR("./PAT", "AP_PAT_edited1")
> PAT.alt <- raster("./altitude") # I plot the polygons over this raster, which is very light to plot on its own

# This is how APpat looks like
> APpat

class       : SpatialPolygonsDataFrame 
features    : 314 
extent      : -92.58878, -57.4542, -22.9007, 13.39352  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
variables   : 6
names       :   id,                    category,             name, year,   country,       IUCN 
min values  :    1, Area Nacional de Recreacion, Abra de Rio Frio, 1936,   Bolivia,          I 
max values  : SN09,                  Via Parque,           Yurubi, 2015, Venezuela, VI

# And then save the plot to png
> png(paste0("./ProtectedAreas.png"), width=1300, heigh=1300, res=300)
> levelplot(PAT.alt, margin=FALSE, 
        at=seq(0,6800, by=2000), 
        main=paste0("Protected areas, ", years[y]),
        par.settings=mytheme,
        xlab=NULL, ylab=NULL,
        contour = TRUE, col='dark green',
        colorkey=NULL) +
> layer(sp.polygons(myAP, lwd=0.8, col='black', fill="#fc9272"))
> par(cex=.7)
> dev.off()

剧情需要3小时7分钟。我尝试过使用普通图而不是levelplot,结果相同。如果我不是绘制光栅,而是自己绘制多边形,那就相同了。

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Sierra 10.12.4

我已经安装了XQuartz。我发现在RStudio内部绘图时以及将绘图保存为pdf文件时的类似时间。 谢谢你的帮助!

编辑: 这是我试图绘制的shapefile图层: https://drive.google.com/open?id=0B0XRH7FN95-RSzFRckhXNjVWYlk

EDIT2:这不是一个普遍的问题,似乎只发生在我身上。我们能够在约20秒内在不同的机器上绘制图形。不过,如果有人知道我的电脑有什么问题,我们将非常感激!

0 个答案:

没有答案