单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,数据检查和拓扑处理,Page,2,讲解内容,数据质量检查的内容,拓扑规则介绍,拓扑建立和拓扑检查,拓扑错误处理,拓扑编辑,Page,3,1.,数据质量检查的内容,Page,4,1.,数据质量检查的内容,-,总结,属性检查,:表结构检查、字段值范围(如必须在范围,如高程不大于,8900,,行政代码必须在行政代码表中),通过,属性查询和属性统计,,进行属性检查,空间关系检查,:,拓扑一致性检查、碎片检查、接边检查,拓扑一致性检查、碎片检查在,ArcGIS,是通过拓扑检查完成,,ArcGIS,没有接边检查,提供了一个自动(线,),接边的工具,Page,5,1.,数据质量检查的内容,-,属性检查,属性查询,Get unique values,可以获得对应字段的唯一值,查询产生选择集方法:创立新的选择集、添加到当前选择集、删除从当前选择集、从当前选择集中选择,可以实现二次查询,也可以使用下列方式设置,Page,6,SQL,的语法,类型,字符串,空的判断,模糊查询,shp,单引号,=,_(,下划线)表示,1,位,,%,表示多位,pgdb,单双引号都可以,is Null,或则,=”“,?,表示,1,位,*表示多位,fgdb,单引号,=,_,表示,1,位,,%,表示多位,oracle,单引号,is Null,而不是,=null,_,表示,1,位,,%,表示多位,Sql server,单引号,is Null,_,表示,1,位,,%,表示多位,总结字符串一般用单,单引号,特殊查询,如北大,,应该为,%,北,%,大,%,模糊查询使用,Like,精确查询使用,=,字符串查询加引号,Page,7,SQL,的语法续,数字的模糊查询,思路是转字符串,类型,模糊查询,Shp,cast,(FID as character)like%1%,gdb,CAST(OBJECTID AS varchar(20)like%1%,mdb,str(OBJECTID)like*1*,oracle,OBJECTID like,%1%,Sql server,Str(OBJECTID)like,%1%,Page,8,选择查询方法,1,、,create a new selection,创建新的选择集,2,、,add to current selection,增加到当前选择集,3,、,remove from current selection,从当前选择集中删除,4,、,select from current selection,从当前选择集中选择,Page,9,1.,数据质量检查的内容,-,属性统计,在属性浏览中,选中字段标题,右键,,Sort Ascending,对选中从小到大排序,,Sort Descending,从大到小排序,Summarize,是分类汇总,选中字段唯一值。
其他字段,可以是最大值,最小值、平均值,汇总等,,对于数字字段,右键界面如,多个,Statistics,(统计),有最大值,最小值、平均值,汇总,使用的数据:,4topchecktb.gdbxzq,Page,10,拓扑关系,拓扑:空间数据的的位置关系地理对象的拓扑关系,主要有以下三种:,相邻,:,是指对象之间是否在某一边界重合,例如行政区划图中的省、县数据重合,:,是指确认对象之间是否在某一局部互相覆盖,如巴士线路和道路之间的关系连通,:,连通关系可以确认通达度、获得路径等Page,11,2,、拓扑规则介绍(中级),ArcGIS,的,拓扑都是基于,geodatabase,(,mdb,,,gdb,,,sde,),,shp,文件是不能进行拓扑检查的首先要,建立,Feature Dataset,(要素集),,把需要检查的数据放在同一要素集下,要素集和检查数据的,数据基础(坐标系统、坐标范围)要一致,,直接拖进入就可以,拖出来也可以,有拓扑时要先删除拓扑,拓扑分为两种:,一个图层自身拓扑:数据类型肯定一致,要么是点,要么线、要么面,两个图层之间的拓扑:数据类型可能不同,有线点、点面、线面、线线、面面五种,检查前提必须在同一,Feature Dataset,(要素集)下,数据基础(坐标系统、坐标范围)要一致,拓扑容差,Page,12,2.1,一个图层自身拓扑,点层:,一个图层,ArcGIS,中没有拓扑检查,在我们实际中可能用到是,点重复,检查,做法是:没有点的坐标,可以使用,ArcToolBox,中,Add XY Coordinates,增加点,XY,坐标,再新建一个字段,XYStr,,值更新为,str(POINT_X*1000)+str(POINT_Y*1000),,这里的,1000,,就是容差为,0.001,,按,XYStr,,,Summarize,导出,个数不一致,就有重复,通过,XYStr,连接可以查找重复。
可以使用:,4topchecktb.gdbGCZJD,Page,13,2.1,一个图层自身拓扑,线层:,must not overlap,:不能有线重合,must not intersect,:不能有线,相,交,must not have dangle,:不能有悬挂节点,(,一个点需要连两个以上的线),must not have pseudo-node,:线不能有伪节点 出现在连续弧段上的节点把该弧段不必要地分为数段如,must not self intersect,如,不能线自相交,是,must not intersect,特例,Page,14,2.1,一个图层自身拓扑,线层:,must be single part,:线,一个线要素只能由一个,path,组成,must not intersect or touch interrior,:线不能有相交和内节点接触,还有不能有线交,Page,15,2.1,一个图层自身拓扑 面层,1.must not overlap,:要素相互不能重叠(含部分),2.must not have gaps,:单要素类,连续连接的面中间不能有空白区(非数据区)或则缝隙,Page,16,2.2.1,两个图层之间拓扑 点线之间,点线拓扑,must be covered,by,endpoint of,:点被线终点完全重合如红点错误,point must be covered,by,line,:点都上,如红点错误,可以看出包含,线点拓扑,endpoint must be covered,by,:线点,线层中的终点必须和点层的部分(或全部)点重合,Page,17,2.2.2,两个图层之间拓扑 点面之间,点面拓扑,-,检查点,Must Be Covered,By,Boundary Of,点必须在多边形(面)的边界上,Must Be Properly Inside,点层的要素必须全部在多边形(面)内,点在多边形边上也是错误,面点拓扑,-,检查面,contains point,:多边形点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点,在边缘也是错误,Page,18,2.2.3,两个图层之间拓扑 线面之间,线面拓扑:,检查线,Must Be,线,Covered,By,Boundary Of,多边形,线被多边形边界重叠,如:行政界线是行政区的边界,面线拓扑:,检查面,Boundary Must Be Covered,By,多边形,+,线,:,多边形层的边界与线层重叠(线层可以有非重叠的更多要素),所有的,by,都是多图层之间,Page,19,2.2.4,两个图层之间拓扑 线线之间,线线之间拓扑,可以用于一个线图层自己和自己运算,Must Not Overlap With:,要素层相互不能重叠,拓扑错误,是将两个图层重叠的列出来,,图层顺序不影响最后的结果,,只能用于两个不同图层之间。
Page,20,2.2.5,两个图层之间拓扑 面面之间,Must Not Overlap With:,要素层相互不能重叠,拓扑错误,是将两个图层重叠的列出来,,图层顺序不影响最后的结果,,只能用于两个不同图层之间Must Be Covered By Feature Class Of,:第一个多边形层必须被第二个完全覆盖(如所有图必须在行政区划范围内,省与全国的关系),图层的先后,效果是不一样的,,must be covered by,:第一个多边形层必须把第二个完全覆盖(全国与省的关系)与前一个相反,就是上一个图层顺序调整,Page,21,2.2.5,两个图层之间拓扑 面面之间,Must Cover Each Other,两个多边形的要素必须完全重叠,是指所有对象,而不是每个对象,如图斑的范围和行政区范围应该一致,,图层先后不影响最后的结果,Area Boundary Must Be Covered By Boundary Of,:第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖,如一个行政区划是一个多个图斑组成,图斑不能跨行政区,如全图地图是各个省组成Page,22,2.3,拓扑容差,拓扑容差是拓扑错误,关键因素,不同容差,错误个数也不一样,甚至在指定容差下有拓扑错误,如,0.001,,而容差为,0.005,,就没有了。
拓扑容差大小与数据的要有关,一般,0.001m,就可以了,Page,23,3.,拓扑建立和拓扑检查,-,内容,1,、建拓扑 是,arccatalog,中,,2,、拓扑检查:可以在,arccatalog,,或,arcmap,中,拓扑错误处理是在,arcmap,3,、,拓扑检查实际会,改变数据,,不仅仅是拓扑检查Page,24,建拓扑的准备工作,建,FeatureDataset,在,Arccatalog,中,如果数据是,shp,格式,先转,Geodatabase,,如果是,Geodatabase,,看是否有,FeatureDataset,,要检查的数据是否在同一个,FeatureDataset,下,坐标系可以采用导入,(,import,)已有数据的坐标系统,要素集和检查数据的,数据基础(坐标系统、坐标范围)要一致,使用数据,:4topchecktopcheck.mdb,Page,25,MDB,一个小技巧,(,高级),如果数据坐标系统一致,数据能叠加在一起,就是坐标范围定义不一致,一般的方法,重新 建立一个表后数据转,对于,mdb,有个小技巧,在,access,打开,mdb,修改,GDB_ObjectClasses,中的都,DatasetID=1,为对应的,GDB_FeatureDataset,主键,(,newdljx,放在,gp),4topchecktopcheck.mdb,中,newdljx,放在,gp,Page,26,3.1,建拓扑,在,FeatureDataset,右键,new topology,,一个,FeatureDataset,中可以有多个,topology,,但一个图层只能在一个,topology,首先给拓扑设置名称和容差,选择参与的图层,最少一个图层,添加拓扑,使用的数据为:,4topchecktopcheck.mdbtt,Page,27,3.1,建拓扑,4,、拓扑验证,点击拓扑,右键,validate,5,、修改容差,右键,,properies,,在,error,中看错误,Page,28,3.2,拓扑检查,拓扑有效后就可以查看拓扑错误,设置不同拓扑,就实现不同拓扑检查,可以,arccatalog,,也可是在,acrmap,将一个图层叠加在一起看,有错误就可以进行,拓扑编辑,Page,29,3.3,拓扑检查实际会,改变数据,,不仅仅是拓扑检查。
使用数据,4top33line.gdb,中,point,和,line,Page,30,3.3,拓扑检查实际会,改变数据之二,使用数据,4top33over.gdb,中,polygon,Page,31,。