Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值


高弋斌

栅格数据Source中的value

相信大家在利用gis空间插值结束后,都会喜欢使用如下图所示的栅格数据(Raster)里面的最值(Min、Max)、均值(Mean)以及标准差(Std dev.)去做分析,那么如何将这些数据快速提取出来呢?如果是只有一张栅格或者十几张栅格,我们只需要将里面的数据一个一个复制粘贴到excel中即可,也很快,但是万一有几百张甚至上千张栅格,那我们还要一个个去复制粘贴吗?答案是当然不用,现在我来分享一下我的做法,操作共分为三步,详细解说如下。
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值

第一步——Raster批量转Table

首先我先将中国沿海地区1951-2016年的气温插值后的栅格数据导入进gis(如下图),不导入也可以,我这么做是为了等会儿的batch操作方便。
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
Arctoolbox里面右击Zonal Statistics as Table,然后利用batch开始批量操作
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
下面是具体操作,
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
利用excel完成批量,将其复制到gis中,点击ok,至此,批量转table操作完成

第二步——Table批量转Excel

按照第一步的batch批量操作,如法炮制
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
结果如下图所示
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值

第三步——合并Excel

由于批量转成的Excel太分散,需要将他们合并到一个工作簿的一张Sheet中,
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
首先利用Excel的VB模块运行合并多个工作簿到一个工作簿(不建立模块)的代码(全文所用代码将在结尾分享,代码有些地方需要修改,否则会运行失败,在文末有解释),
运行结果如下图所示,已将所有表格合并入一个工作簿中,但是还需将他们合并入一张Sheet中,才可以更加方便的做分析
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
现在右击tem_Excel1951,进入VB模块,将合并多张Sheet到一个Sheet(当前工作簿)的代码写入模块中,并点击运行,稍后就会显示合并完成的窗口,如下图所示
Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值
接下来的操作就简单了,相信大家都懂,利用筛选按钮,将不需要的英文字母删除,只留下按顺序合并而成的属性值,然后我们就可以非常愉快的做数据分析啦!!!!

代码分享

https://download.****.net/download/yustewart/11129385

【注】使用代码的时候需要稍作修改,如果excel格式为.xls,则需要将下面红色框中的.xlsx修改为.xls,反之则无需修改。Arcgis批量提取栅格数据的Min、Max、Mean以及Std dev.等数值

感谢大家的阅读,其中的单步操作均来自于网络,我只是站在巨人的肩膀上,将他们整合起来,希望大家可以多多转发分享,共同学习。