产品应用与技术推广部ArcGIS10影像分类工具介绍及ArcGISEngine实现Esri中国信息技术有限公司2012年2月产品应用与技术推广部《版权声明》本文档版权为Esri中国信息技术有限公司所有。未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。——制定及修订记录——版本完成日期编写/修订纪要编写者备注V0.12012-2-28刘宇V0.22012-2-29刘宇产品应用与技术推广部I目录ArcGIS影像分类工具..................................................................................................1第一章影像分类...........................................................................................................................11.1ArcGIS影像分类工具条....................................................................................................21.2ArcGIS影像分类实例........................................................................................................41.3样本采集.................................................................................................................51.3.1执行交互式监督分类..............................................................................................71.3.2执行最大似然法分类..............................................................................................81.3.3执行类别概率分类................................................................................................111.3.4ArcGISEngine实现影像分类.....................................................................................13第二章重要接口-IMultivariateOp................................................................................................142.1ArcGISEngine实现最大似然法.......................................................................................152.2分类后处理......................................................................................................................17第三章ArcMap操作....................................................................................................................172.3ArcGISEngine操作...........................................................................................................192.4总结.................................................................................................................................21第四章产品应用与技术推广部II产品应用与技术推广部1ArcGIS影像分类工具第一章影像分类1.1提到分类,我们很容易就想到了专业的遥感软件ENVI,或者ERDAS等,其实ArcGIS也可以用来对影像分类的,ArcGIS10中新增了一个影像分类工具,默认情况下,我们在主界面是看不到的,需要手动添加,操作方式也很简单,只需要在ArcMap右上角空白菜单栏上右键,找到影像分类工具,如下图:产品应用与技术推广部2图1-1插图标题名称ArcGIS影像分类工具条1.2在遥感的书籍上,很重要的一章内容就是介绍影像分类,影像分类就是从图产品应用与技术推广部3像中获取我们所需要信息的过程,分为两大类:监督分类和非监督分类,而在每一类别下又有好多分类方法,比如SVM(支持向量机),神经网络分类,最大似然法分类等(更多信息参阅相关遥感书籍)。监督分类又称为训练分类法,就是通过建立解译标志,获取样本,用这些样本对影像进行识别。非监督分类就是在不用认为干预的情况下,无需采用训练样本的分类技术,是计算机根据相关算法对影像进行识别的方法。ArcGIS提供的分类方法如下图所示:这菜单里面有“交互式监督分类”,“最大似然法分类”、“ISO聚类非监督分类”“类别概率”“主成分分析”(PCA),有遥感知识背景的人来说,主成分分析不应作为一种分类方法,而应该分类的一个前期处理,关于这些名词更详细的信息请参阅相关遥感书籍。其实在ArcGIS10之前的版本中,已经有了分类工具箱,只是没有上面我们提到的影像分类工具条,在ArcGIS10(ArcGIS9.3也有这些工具)的工具箱中我们可以看到下图:产品应用与技术推广部4在这里除了没有“交互式监督分类”.这里面的工具和上面的都可以对应起来,其实影像分类工具条里面的分类方法就是调用的该工具。该工具是位于空间分析这个工具箱的里面,也就是说要使用影像分类,需要空间分析的许可。ArcGIS影像分类实例1.3确保自己已经有了空间分析许可,在本实例中采用“交互式监督分类”,“最大似然法分类”作为演示,我的数据如下图:产品应用与技术推广部5由于数据的效果不是很好,只是为了说明问题,在使用的时候请根据自己数据的情况,在这个例子中,我的数据分为两类。样本采集1.3.1ArcGIS10为我们采集样本提供了一个工具,如下图红框部分:该按钮是启动训练样本管理器的,训练样本管理器如下图:产品应用与技术推广部6ArcGIS的这个训练样本管理器对样本的收集有两种方法:1,如果有了样本区域的矢量数据可以通过样本管理器的打开按钮加载进来,如下图:2,通过影像分类工具上的工具在影像中画取,这几个工具如下图:该选取样本的工具提供了三种方式:画面,画矩形,画圆下面是我通过“画面“这个工具选择的,训练样本管理器可以对样本进行合并和拆散,所以我们可以对同一个样本选择多处,然后合并,我的样本如下:产品应用与技术推广部7执行交互式监督分类1.3.2当我们有了样本后,交互工具就处于激活状态,如下图:产品应用与技术推广部8执行最大似然法分类1.3.3使用最似然法分类,需要Signature文件(我们认为该文件记录了ArcGIS中用来做分类数据的样本信息)在训练样本管理器中将我们刚才的样本保存,如下图:产品应用与技术推广部9下面的界面可以在工具箱中或影像分类工具提条中打开,如下图:产品应用与技术推广部10填写相关参数之后,我们可以看到最大似然法分类结果如下:产品应用与技术推广部11使用卷帘工具查看:执行类别概率分类1.3.4打开类别概率的界面,填写相关参数,如下图:产品应用与技术推广部12类别分类结果如下图:产品应用与技术推广部13使用卷帘工具查看:ArcGISEngine实现影像分类第二章(需要空间分许许可)ArcGISEngine对影像分类也提供了支持,在空间分析的OMD(对象模型图)我们可以看到下图:产品应用与技术推广部14重要接口-IMultivariateOp2.1RasterMultivariateOP这个对象继承了IMultivariateOp,而该接口提供的方法如下:产品应用与技术推广部15这些方法和工具箱中的方法是对应的,我们只按照要求传参数即可。ArcGISEngine实现最大似然法2.2ArcGISEngine加载的数据如下图:产品应用与技术推广部16在最大似然法按钮下填写下面的代码,其中Signature文件是我们在ArcMap中创建的,代码如下图:执行结果如下图:产品应用与技术推广部17分类后处理第三章ArcMap操作2.3我们知道对影像分类后,可能会存在小斑块,边界不规整等,因此得到分类结果后,还需要对分类的数据做进一步处理,ArcGIS也为我们提供了相应的工具,如MajorityFilter(众数滤波),RegionGroup(区域合并),BoundaryClean(边界清理等),如下图:去除结果中分类不正确的数据或者孤立的小斑块,用“众数滤波”工具进行处理,可以将小斑块合并到周围最多的一类,处理结果如下图:产品应用与技术推广部18该结果上图为处理前,下图为处理后,由于我的数据不是非常的好,但是我们可以从属性表中看出已经发生了变化,如下图(左表为处理前,右表为处理后):其他操作根据自己的需要,比如边界清理,小区域去除等。下面对这几个工具介绍下:Nibble和extractbyattribute工具结合可以用来消除小区域产品应用与技术推广部19可以通过“栅格选择”工具,按照属性选择进行删除,再使用“Nibble”进行补缺,用最邻近点的值替换掩膜(掩膜就是被删除的部分)范围内的栅格单元的值。RegionGroup用来识别类别BoundaryClean用来光滑边界ArcGISEngine操作2.4ArcGISEngine对分类后处理的这些功能也有相应的接-IGeneralizeOp,口通过ArcGISEngine的帮助可以看到该接口包含下面的方法:这些方法很ArcMap中的栅格概括工具箱下的数工具刚好对应,我们可以用下面的代码实现我们刚才在ArcMap中的操作,代码如下图:产品应用与技术推广部20在众数滤波按钮下填写如下代码:ArcGISEngine的运行效果如下图:产品应用与技术推广部21总结第四章ArcGIS10不但为栅格数据提供了新的管理方式-镶嵌数据集,还可以为栅格数据提供分析(区别空间分析,这里的分析指的是专业遥感软件中的融合,裁剪,卷积运算等功能),并且可以通过影像分类工具对影像进行分类,来获取我们感兴趣的信息,给我们提供了很大的便利。但是和专业遥感软件相比,ArcGIS的分类方法还是有点欠缺。在分类这块,专业的遥感软件在分类后期,提供混淆矩阵,Kapp系数等精度评价方法,毕竟不产品应用与技术推广部22同的软件各有所长,ArcGIS已经有很大进步了,ArcGIS的分类可以得到实时的结果,这对大数据量的用户是非常方便的,并且结合ArcGISServer,我们就可以直接将这些分类方法作为服务,可以实现在线分类等操作,这是ArcGIS很大的一个优势,为我们对影像数据的处理提供了完整的流程,不管是桌面端,还是服务器端。