XHD拓扑.docx
《XHD拓扑.docx》由会员分享,可在线阅读,更多相关《XHD拓扑.docx(15页珍藏版)》请在冰豆网上搜索。
XHD拓扑
打开catalog,在右侧空白区域(最好和你想要建立拓扑的文件一个目录),点击右键,
New→personalgeodatabase,新建数据库文件
然后会出来一个简单的个人数据库文件,根据你的需要重命名,
在数据库文件上右键,
New→featuredataset….新建要素类
弹出如下对话框,给个名字,下一步,
给投影,注:
以40度带为例,120E为无带号投影,40为有带号投影,
选择和你要建拓扑的文件一致的投影,下一步,
高程,直接下一步,
一般我们只需要修改第一个,第一个是数据的拓扑容限,也就是精度,设置完成,finish。
之后会生成一个要素集文件,
在要素集上点右键,import,导入,
Input选择你要做拓扑的shp文件,ok,开始导入,如下:
完成之后双击要素集,会看到里面有你刚刚导入进去的shp文件,这个时候属于要素类文件。
(至此为新建和导入要建拓扑的文件步骤,记住:
2个新建,一个导入,然后新建)
右边预览窗口空白区域点击右键→NEW→topology,
弹出下面对话框:
直接下一步;
名称可以修改,拓扑容限就是数据库的限差;
选择你要做拓扑的要素类,包含在这个要素集内,假如你想要做的拓扑是多个要素集内的多个要素类,可以直接在mdb中操作,将要素类复制、粘贴到同一个要素集下;下一步;
等级值给7,下一步;
添加规则(AddRules)
基本上要检查的规则里面都有,选择需要的规则,确定;
规则(rules)可以更改、删除、添加,假如你要做很多次同样的拓扑,那么你可以选择保存一个规则模板(saverules),当下次新建拓扑的时候可以loadrules,下一步,
完成(finish),之后会弹出是否验证拓扑,
点击是,
然后就会出来一个拓扑图标
,左键选中拖拽到arcmap的图层下,会提示
是,ok。
想查看修改错误的话,开始编辑,在工具栏空白处右键调出拓扑工具,
点击最后那个表格加红色叉的图标
,
里面包括了所有你在建拓扑时创建的规则,
点击searchnow,错误就会在下面的列表中显示出来,
左键选中,然后右键→zoomto(缩放至…),这样就将窗口缩放至错误区域,
一般情况下都是选择13,第一个是必选的,errors错误,exceptions例外,一般不会选的,visibleextentonly当前视口可见;需要注意的是:
当第三个选项选上的时候,searchnow出来的errors只是当前视窗范围内的错误,不是所有;可根据个人习惯去选择。
当前窗口拓扑验证;
所有拓扑验证。
常用的2个验证。
注:
我在做topology的时候,出现过2种情况,其一就是错误号为220的error,其原因为错误数量太多,或者数据本身有图形错误。
解决办法:
repairgeometry,之后做拓扑。
另一种情况就是数据坐标跟投影信息的不一致造成的,会出现无法验证的错误,提示在坐标范围内未发现要素。
解决办法:
投影、坐标一定要一致!
有关geodatabase的topology规则
多边形topology
1).mustnotoverlay:
单要素类,多边形要素相互不能重叠
2).mustnothavegaps:
单要素类,连续连接的多边形区域中间不能有空白区(非数据区)
3).containspoint:
多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点
4).boundarymustbecoveredby:
多边形+线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素)
5).mustbecoveredbyfeatureclassof:
多边形+多边形,第一个多边形层必须被第二个完全覆盖(省与全国的关系)
6).mustbecoveredby:
多边形+多边形,第一个多边形层必须把第二个完全覆盖(全国与省的关系)
7).mustnotoverlaywith:
多边形+多边形,两个多边形层的多边形不能存在一对相互覆盖的要素
8).mustcovereachother:
多边形+多边形,两个多边形的要素必须完全重叠
9).areaboundarymustbecoveredbyboundaryof:
多边形+多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖
10).mustbeproperlyinsidepolygons:
点+多边形,点层的要素必须全部在多边形内
11).mustbecoveredbyboundaryof:
点+多边形,点必须在多边形的边界上
线topology
1).mustnothavedangle:
线,不能有悬挂节点
2).mustnothavepseudo-node:
线,不能有伪节点
3).mustnotoverlay:
线,不能有线重合(不同要素间)
4).mustnotselfoverlay:
线,一个要素不能自覆盖
5).mustnotintersect:
线,不能有线交叉(不同要素间)
6).mustnotselfintersect:
线,不能有线自交叉
7).mustnotintersectortouchinterrior:
线,不能有相交和重叠
8).mustbesinglepart:
线,一个线要素只能由一个path组成
9).mustnotcoveredwith:
线+线,两层线不能重叠
10).mustbecoveredbyfeatureclassof:
线+线,两层线完全重叠
11).endpointmustbecoveredby:
线+点,线层中的终点必须和点层的部分(或全部)点重合
12).mustbecoveredbyboundaryof:
线+多边形,线被多边形边界重叠
13).mustbecoveredbyendpointof:
点+线,点被线终点完全重合
14).pointmustbecoveredbyline:
点+线,点都在线上