中国科学院计算技术研究所教育中心数据检查和拓扑处理闫磊Email:gisworld@126.com中国科学院计算技术研究所教育中心Page2讲解内容1.数据质量检查的内容2.拓扑规则介绍3.拓扑建立和拓扑检查4.拓扑错误处理5.拓扑错误高级处理6.拓扑编辑中国科学院计算技术研究所教育中心Page3一.数据质量检查的内容中国科学院计算技术研究所教育中心Page41.数据质量检查的内容-总结属性检查:表结构检查、字段值范围(如必须在范围,如高程不大于8900,行政代码必须在行政代码表中),通过属性查询和属性统计,进行属性检查空间关系检查:拓扑一致性检查、碎片检查、接边检查拓扑一致性检查、碎片检查在ArcGIS是通过拓扑检查完成,ArcGIS没有接边检查,提供了一个自动(线)接边的工具中国科学院计算技术研究所教育中心Page51.数据质量检查的内容-属性检查①属性查询可以获得对应字段的唯一值查询产生选择集方法:创立新的选择集、添加到当前选择集、删除从当前选择集、从当前选择集中选择可以实现二次查询也可以使用下列方式设置中国科学院计算技术研究所教育中心Page6SQL的语法类型字符串空的判断模糊查询shp单引号=’‘_(下划线)表示1位,%表示多位pgdb单双引号都可以isNull或则=”“?表示1位,*表示多位fgdb单引号=’‘_表示1位,%表示多位oracle单引号isNull而不是=null_表示1位,%表示多位Sqlserver单引号isNull_表示1位,%表示多位总结字符串一般用单单引号,特殊查询,如北大,应该为’%北%大%’模糊查询使用Like,精确查询使用=,字符串查询加引号中国科学院计算技术研究所教育中心Page7SQL的语法续,数字的模糊查询,思路是转字符串类型模糊查询Shpcast(FIDascharacter)like'%1%'gdbCAST(OBJECTIDASvarchar(20))like'%1%'mdbstr([OBJECTID])like*1*oracleOBJECTIDlike‘%1%’SqlserverStr(OBJECTID)like‘%1%’中国科学院计算技术研究所教育中心Page8选择查询方法1、创建新的选择集2、增加到当前选择集3、从当前选择集中删除4、从当前选择集中选择中国科学院计算技术研究所教育中心Page91.数据质量检查的内容-属性统计在属性浏览中,选中字段标题,右键,升序排列对选中从小到大排序,降序排列从大到小排序汇总是分类汇总,选中字段唯一值。其他字段,可以是最大值,最小值、平均值,汇总等,对于数字字段,右键界面如统计有最大值,最小值、平均值,汇总使用的数据:5top\check\tb.gdb\xzq中国科学院计算技术研究所教育中心Page10拓扑关系拓扑:空间数据的的位置关系。地理对象的拓扑关系,主要有以下三种:1.相邻:是指对象之间是否在某一边界重合,例如行政区划图中的省、县数据。2.重合:是指确认对象之间是否在某一局部互相覆盖,如巴士线路和道路之间的关系。3.连通:连通关系可以确认通达度、获得路径等。中国科学院计算技术研究所教育中心Page112、拓扑规则介绍(中级)ArcGIS的拓扑都是基于geodatabase(mdb,gdb,sde),shp文件是不能进行拓扑检查的。首先要建立FeatureDataset(要素数据集),把需要检查的数据放在同一要素集下,要素集和检查数据的数据基础(坐标系统、坐标范围)要一致,直接拖进入就可以,拖出来也可以,有拓扑时要先删除拓扑拓扑分为两种:1.一个图层自身拓扑:数据类型肯定一致,要么是点,要么线、要么面2.两个图层之间的拓扑:数据类型可能不同,有点点,线点、点面、线面、线线、面面五种,检查前提必须在同一FeatureDataset(要素集)下,数据基础(坐标系统、坐标范围)要一致3.拓扑容差,9.3,26中,arcgis10,32中拓扑规则中国科学院计算技术研究所教育中心Page12增加的规则集合中新增了六种拓扑规则,以便对数据的空间关系进行建模。这些规则如下:1.面:包含一个点2.线:不能与其他要素相交3.线:不能与其他要素相交或内部接触4.线:必须位于内部5.点:必须与其他要素保持一致6.点:必须不相交有关拓扑规则的说明,请参阅地理数据库拓扑规则与拓扑错误修复。中国科学院计算技术研究所教育中心Page13拓扑容差中国科学院计算技术研究所教育中心Page142.1一个图层自身拓扑点层:一个图层ArcGIS中没有拓扑检查,在我们实际中可能用到是点重复检查,做法是:没有点的坐标,可以使用ArcToolBox中增加点XY坐标,再新建一个字段XYStr,值更新为str([POINT_X]*1000)+str([POINT_Y]*1000),这里的1000,就是容差为0.001,按XYStr,Summarize导出,个数不一致,就有重复,通过XYStr连接可以查找重复。可以使用:5top\check\tb.gdb\GCZJD中国科学院计算技术研究所教育中心Page15点重复检查,ArcGIS新增功能中国科学院计算技术研究所教育中心Page16处理重复点中国科学院计算技术研究所教育中心Page17线层自身拓扑错误,最主要5个问题中国科学院计算技术研究所教育中心Page18线层自身拓扑错误中国科学院计算技术研究所教育中心Page19一个面自身错误中国科学院计算技术研究所教育中心Page20两个图层之间,点点中国科学院计算技术研究所教育中心Page212.2.1两个图层之间拓扑点线之间点线拓扑必须被其他要素的端点覆盖:点被线终点完全重合如①红点错误点必须被线覆盖:点都在线上如②红点错误可以看出①包含②线点拓扑端点必须被其他要素覆盖:线+点,线层中的终点必须和点层的部分(或全部)点重合中国科学院计算技术研究所教育中心Page222.2.2两个图层之间拓扑点面之间点面拓扑-检查点点必须在其他要素的边界覆盖:点必须在多边形(面)的边界上必须完全位于内部:点层的要素必须全部在多边形(面)内,点在多边形边上也是错误面点拓扑-检查面包含点:多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点,在边缘也是错误中国科学院计算技术研究所教育中心Page232.2.3两个图层之间拓扑线面之间线面拓扑:检查线必须被其他元素的边界覆盖:线被多边形边界重叠,如:行政界线是行政区的边界面线拓扑:检查面边界必须被其他要素覆盖:多边形层的边界与线层重叠(线层可以有非重叠的更多要素)所有的by都是多图层之间中国科学院计算技术研究所教育中心Page242.2.4两个图层之间拓扑线线之间线线之间拓扑,可以用于一个线图层自己和自己运算不能和其他要素重叠:要素层相互不能重叠,拓扑错误,是将两个图层重叠的列出来,图层顺序不影响最后的结果,只能用于两个不同图层之间。中国科学院计算技术研究所教育中心Page252.2.5两个图层之间拓扑面面之间①不能和其他要素重叠:要素层相互不能重叠,拓扑错误,是将两个图层重叠的列出来,图层顺序不影响最后的结果,只能用于两个不同图层之间。②必须被其他要素覆盖:第一个多边形层必须被第二个完全覆盖(如所有图必须在行政区划范围内,省与全国的关系),图层的先后,效果是不一样的,③必须相互覆盖:比较两个图层是否一样中国科学院计算技术研究所教育中心Page262.3拓扑容差拓扑容差是拓扑错误,关键因素,不同容差,错误个数也不一样,甚至在指定容差下有拓扑错误,如0.001,而容差为0.005,就没有了。拓扑容差大小与数据的要有关,一般0.001m,就可以了中国科学院计算技术研究所教育中心Page27三.拓扑建立和拓扑检查-内容1、建拓扑是arccatalog中,2、拓扑检查:可以在arccatalog,或arcmap中,拓扑错误处理是在arcmap。3、拓扑检查实际会改变数据,不仅仅是拓扑检查。一定要备份数据,级别(Rank)(高级)在拓扑验证的过程中,有自动捕捉的过程,要素会移动。在ArcGIS拓扑关系中每一个要素类是根据Rank值的大小来控制移动程度的。Rank等级越高的要素移动程度越小。ArcGIS10提供的Rank范围在(1-50),Rank值等于1的为最高等级。中国科学院计算技术研究所教育中心Page283.1建拓扑在要素数据集右键拓扑,一个要素数据集中可以有多个拓扑,但一个图层只能在一个拓扑1.首先给拓扑设置名称和容差2.选择参与的图层,最少一个图层3.添加拓扑重点一定要先见要素数据集使用的数据为:5top\check\topcheck.mdb\tt,看拓扑检查.exe中国科学院计算技术研究所教育中心Page293.1建拓扑4、拓扑验证,点击拓扑,右键验证5、修改容差,右键,属性,在错误中看错误中国科学院计算技术研究所教育中心Page303.2拓扑检查拓扑有效后就可以查看拓扑错误,设置不同拓扑,就实现不同拓扑检查可以arccatalog,也可是在acrmap将一个图层叠加在一起看,有错误就可以进行拓扑编辑中国科学院计算技术研究所教育中心Page313.3拓扑检查实际会改变数据,不仅仅是拓扑检查。使用数据\5top\33\line.gdb中point和line中国科学院计算技术研究所教育中心Page323.3拓扑检查实际会改变数据之二使用数据\5top\33\over.gdb中polygon中国科学院计算技术研究所教育中心Page33四.拓扑错误处理(中级)1、拓扑工具条的介绍:拓扑Topology工具条在ArcMap中,通过右键增加,要想使用数据处于编辑状态2、拓扑错误处理中国科学院计算技术研究所教育中心Page344.1、拓扑工具条的介绍①地图拓扑:设置拓扑图层②构造要求构建拓扑要素、线转面,面转线,操作是选中要素,后点击该按钮。③打断相交线:对线拓扑处理,交叉线自动按交点打断,删除重复线,操作同上④拓扑编辑工具:选择共享要素(如共享边),后面重点将⑤显示共享要素:当拓扑编辑工具中共享边,看那几个共用中国科学院计算技术研究所教育中心Page354.1、拓扑工具条的介绍⑥有效当前范围拓扑⑦修复错误工具:选择(可以框选、可以点击)和提供修复错误工具⑧错误监视器:显示或隐藏拓扑错误列表是拓扑图层后才可以使用,中国科学院计算技术研究所教育中心Page364.2拓扑错误处理①重叠(线、面)不能重叠②缝隙(面)不能有缝隙③悬挂(线)④伪节点⑤跨行政区⑥碎片处理一个例子中国科学院计算技术研究所教育中心Page37重叠线①完全重叠的话,1)选中其中一条删除2)选中重叠几条,使用打断相交线处理,重叠只保留一个②部分重叠,1)在错误上右键,选择去除重复部分2)选中较短一条删除,3)选中重叠几条,使用打断相交线处理后,自动分段,后再合并打断相交线还可以处理交叉线,在交叉点自动打断,八字图交叉也可以,面的交叉使用使用数据为:5top\check\topcheck.mdb\line\line_Topology下的中国科学院计算技术研究所教育中心Page38重叠面mustnotoverlap①在错误上右键选择merge,将重叠部分合并到其中一个面里。②在错误上右键选择createfeature,将重叠部分生成一个新的要素,然后利用editor下的合并merge把生成的面合并到相邻的一个面里。③用editor下切割clip直接裁剪掉重叠部分。④可以直接修改要素节点去除重叠部分。⑤使用排除substact去除重叠的1-4是推荐的方法,5慎用使用数据为:5top\check\topcheck.mdb\line\tp_poly下的中国科学院计算技术研究所教育中心Page394.2.2缝隙(面)mustnothavegaps①在错误上右键选择创建要素,将缝隙部分生成一个新的要素,然后利用编辑下的m合并把生成的面合并到相邻的一个面里。②可以直接修改要素节点去除重叠部分注意:查缝隙时最面最外围一圈会认为是缝隙,这种可以标记为异常(例外markasexception)。