我正在研究空间多边形数据框(spdf)数据集。此数据集包含每月气候数据的时间序列。我想要实现的是将spdf转换为1000米分辨率的光栅堆栈以进行进一步的统计分析。我已经写了一个R代码,但速度很慢,需要很长时间才能转换成一列。我希望你们中的任何一位能提供提示,让它更快。如何在将大空间多边形数据框转换为栅格堆栈时提高速度
hru<-readOGR("E:\\Tade\\HRU\\ubn_merge.shp",layer="ubn_merge") # spatial polygon
spdf<-merge(hru,spdf.2000,by.x="HRU",by.y="HRU",all.x=T,sort=F) # spdf nrow=565 ncol=375
# convert sp to raster
hru.ras<-raster(hru,resolution=1000) # raster hru shape to 1km
for (i in 1:length(spdf){
et.ras<-rasterize(spdf,hru.ras,field=paste("m",1,sep="")) # rasterize
et.stack<-stack(et.stack,et.ras)
}
感谢
以我的经验,你正在使用R和'rasterize()'函数来完成这个任务。从我的测试中,直接使用'gdal_rasterize'实用程序时,从矢量到栅格的转换更易于管理。我使用系统调用来调用它,例如'系统(paste0(“gdal_rasterize -burn 1 -l census_buffer”,census_buffer_path,“/tmp/census_mask.tif”))等等,这明显认为'gdal'实用程序在你的路径中。 –
@ ForrestR.Stevens谢谢你。 – Tade