将SpatialPolygonsDataFrame转换为R中的栅格

时间:2015-08-30 10:18:08

标签: r polygon raster rgdal rasterize

library(raster)
library(rgdal)
#download data
download.file("http://www.protectedplanet.net/downloads/WDPA_July2015?type=shapefile","WDPA_July2015-shapefile.zip")
#unzip files
unzip("WDPA_July2015-shapefile.zip")
#read in shapefile
a <- shapefile("WDPA_July2015-shapefile-polygons.shx",verbose=TRUE)
#Exclude polygons with areas smaller than 1 km^2
a <- a[a$GIS_AREA >= 1,]
#generate 0.5 degree raster
r <- raster(ncols=720, nrows=360)
#convert polygon cover to raster (as cell share)
x <- rasterize(a,r,getCover=TRUE,progress="text")
#write output as netCDF
writeRaster(x,"WDPA_July2015_raster.nc",xname="lon",yname="lat",overwrite=TRUE)

上面的代码(运行时间为几个小时)会生成此地图(使用Panoply绘制)。显然这里有问题(与http://protectedplanet.net上的地图相比)。

Protected Planet (1 km^2)

排除面积低于100000平方公里的所有多边形,得到以下地图。

a <- a[a$GIS_AREA >= 100000,]

Protected Planet (100000 km^2)

第二张地图更靠近http://protectedplanet.net上的地图。 根据我的理解,第二张地图中着色的所有栅格单元格也应出现在第一张地图中。那是对的吗?如果是这样,我的代码出了什么问题?

0 个答案:

没有答案