从巨大的栅格文件中删除NA值 [英] deleting NA values from huge rasterfile

查看:12
本文介绍了从巨大的栅格文件中删除NA值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前正在尝试从一个巨大的光栅文件中删除NA值(1.9*10^7个观测值)。在这些栅格中,99.9%是NA值。我的目标是删除NA并创建一个包含所有非NA值的.csv文件。 我的尝试如下:

# Load packages
packs = c('raster', 'rgdal')
sapply(packs, FUN = 'require', character.only = TRUE)
xy <- xyFromCell(raster, 1:ncell(raster))
v <- as.data.frame(raster)
xyv <- data.frame(xy, v)
rm(xy,v)
xyv <- na.omit(xyv)
write.csv(xyv, file ="raster.csv", row.names = F)

当我执行na.omit()时,R/RStudio给出一条错误消息,指出它遇到致命错误并终止。是否有更简单、更快速的解决方案来执行此操作?

推荐答案

您可以为此使用rasterToPoints函数。

library(raster)
r <- raster()
r[50:52] <- 1:3
xyv <- rasterToPoints(r)

write.csv(xyv, file ="raster.csv", row.names = FALSE)

这篇关于从巨大的栅格文件中删除NA值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆