GIS实习教程第21章上课讲义_第1页
GIS实习教程第21章上课讲义_第2页
GIS实习教程第21章上课讲义_第3页
GIS实习教程第21章上课讲义_第4页
GIS实习教程第21章上课讲义_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。GIS实习教程第21章-第二十一章拓扑规则1拓扑规则简介实际应用时,往往需要在空间数据各要素之间保持某种特定的关系。比如:行政区是多边形,不能有相互重叠区域,线状道路之间不能有重叠线段、公共汽车站必须在公共交通线路上,等等。在ArcGIS的Geodatabase中可以增加一系列的拓扑规则,在要素之间建立起空间关系,还可以对这些规则进行维护。为了便于理解拓扑规则,先解释几个专用术语:相交(Intersect):线和线相交,并且只有一点重合(该点不是端点),称为相交。接触(Touch):某线段的端点和自身或

2、其他线段有重合,称为接触。悬点(DangleNode):线段的端点悬空,没有和其他任何线段连接,这个端点称为悬点。伪结点(PseudoNode):二个端点相互接触,连接成一个端点,称为伪结点。拓扑规则的种类可以按点、线、面来分。以下介绍ArcGIS的主要拓扑规则,每条规则用一幅图来说明,图的左半部分是符合规则的例子,右半部分则是违反规则的例子。11点拓扑规则举例规则一:Mustbecoveredbyboundaryof,点必须在多边形边界上。例如有一个点要素类代表公共汽车站,另有一个多边形要素类代表地块,可制定如下规则:公共汽车站必须位于地块的边界上。另一个例子是:行政界碑必须落在行政边界线上

3、。不满足该规则的点要素将被标记为错误,修复的方法是删除或移动错误点(移动也可理解为删除后立即添加)。图21-1点拓扑规则一规则二:Mustbecoveredbyendpointof,点要素必须处于线要素的端点上。例如:阀门为点要素类,必须位于线要素类输水管的尽端。不满足该规则的点要素将被标记为错误,修复的方法是删除或移动错误点。图21-2点拓扑规则二规则三:Pointmustbecoveredbyline,点要素必须在线要素之上。例如点要素代表窨井用,线要素代表排水管,窨井的必须位于排水管上。另一个例子是:公交汽车站(点要素类)必须在公交线路(线要素类)上。不满足该规则的点要素将被标记为错误,

4、修复的方法是删除或移动错误点。图21-3点拓扑规则三规则四:Mustbeproperlyinsidepolygons,点要素必须落在多边形要素内(在边线上不算)。比如省界为多边形,省内的城市为点,城市一定要落在省界内。另一个例子是:代表住宅地址的点要素必须被居住用地多边形包含。不满足该规则的点要素将被标记为错误,修复的方法是删除或移动错误点。图21-4点拓扑规则四注意:点要素本身是不能建立拓扑规则的,它必须和线要素或多边形要素一起才能建立拓扑规则。12多边形拓扑规则举例规则一:Mustnotoverlap,同一多边形类的要素之间不能重叠(几个多边形共享一个点或共享一条边界不算重叠)。例如规划地

5、块之间不能有重叠,行政区不能有重叠。重叠的部分将产生多边形错误。修改错误的方法有三种,一是删除重叠部分,留出空白;二是将重叠部分合并到某一个多边形;三是在重叠部分新增多边形,并删除原来的重叠部分。图21-5多边形拓扑规则一规则二:Mustnothavegaps,多边形之间不能有间隙。比如规定表示连续分布的地形高程多边形之间不能有空隙。不满足规则的地方将产生线错误,表示空隙多边形,修改的方法是调整原来的边界,或添加新的多边形。图21-6多边形拓扑规则二规则三:Containpoint,多边形内必须包含点要素(边界上的点不算)。例如规定居住用地内至少有一个地址点。不包含点的多边形将被视为错误,修改

6、的方法是:在错误多边形内增加一个点要素,或者将没有内部点的多边形删除。图21-8多边形拓扑规则三图21-9多边形拓扑规则四规则四:Boundarymustbecoveredby,多边形的边线必须与线要素中的线段重合。例如交通调查小区的边界必须和道路线要素类重合。违反规则的地方将产生线错误,修改的方法可以是调整线段,也可调整多边形。规则五:Mustbecoveredbyfeatureclassof,多边形要素中的每一个多边形都被另一个要素类中的多边形覆盖。例如城市规划区必须在若干行政区划内,工业建筑多边形必须在规划的工业用地内。违反规则的地方将产生多边形错误,修改的方法是在重叠部分增加新的多边形

7、或调整错误的多边形。图21-10多边形拓扑规则五规则六:Mustbecoveredby,每个多边形要素都要被另一个要素类中的单个多边形覆盖。例如建筑物多边形必须在地块多边形内,一个建筑多边形不能跨越多个地块。不满足规则的地方将产生多边形错误,修改的方法是:调整第一类多边形,使他们不要和第二类有交叉,或者扩大第二个要素类中的某些多边形,使他们能覆盖第一类中的错误多边形。图21-11多边形拓扑规则六规则七:mustnotoverlapwith,一个要素类中的多边形不能与另一个要素类中的多边形重叠。虽然和规则一相似,都是说不能重叠,但是这里是指两个多边形要素类(FeatureClass)之间的关系。

8、比如一个要素类表示湖泊,另一个要素类表示陆地,他们是相互独立的类,显然它们应该满足该规则。重叠的部分将产生多边形错误,修改方法同规则一。图21-12多边形拓扑规则七规则八:Mustcovereachother,两个要素类中的多边形要相互满覆盖,外边界要一致。例如土壤层范围和地质层范围应一致。违反规则的地方将产生多边形错误,修改错误的方法是在重叠不到的地方增加多边形,或者调整、删除不重叠的部分。图21-13多边形拓扑规则八规则九:Areaboundarymustbecoveredbyboundaryof,某个多边形要素类的边界线在另一个多边形要素类的边线上。例如县、市边界上必须有乡、镇边界,而且

9、前者的边界必须被后者所重合。违反规则的地方将产生线错误,修改的方法是手工编辑边界。图21-14多边形拓扑规则九多边形不仅可定义自身的规则,而且和点要素、线要素、其他多边形要素之间建立起拓扑关系。多边形要素和点要素的关系前节已经介绍,不同多边形要素类之间的关系在本节介绍,多边形要素和线要素的关系在下节介绍。13线拓扑规则举例规则一:Mustnothavedangles,不允许线要素有悬点,即每一条线的端点都不能孤立,必须和本要素类中其他要素、或和自身相接触。例如,地块边界线段不能有悬点。违反规则的地方将产生点错误,修改的方法是:将包含悬点的线段延伸到其它要素上,或者将过长的部分截断后删除。图21

10、-15线拓扑规则一规则二:Mustnothavepseudonode,不能有伪结点,即线段的端点不能是二个端点的接触点(自身首尾接触是允许的),例如河流。违反规则的地方将产生点错误,修改的方法是:将伪结点两边的线段合并为一个条线,使伪结点自然取消。图21-16线拓扑规则二规则三:Mustnotoverlap,在同一要素类中,线与线不能相互重叠。例如平面道路网。违反规则的地方将产生线错误,修改的办法是将不需要的线段截断,再删除。图21-17线拓扑规则三规则四:Mustnotselfoverlap,线要素不能自己和自己重叠。例如街道。违反规则的地方将产生线错误,修改的方法是截断、删除重叠部分。图2

11、1-18线拓扑规则四规则五:Mustnotintersect,同一要素类中,线与线不能相交。例如河流、地块边界线。违反规则的地方将产生线错误,修改的方法是重合处合并,相交处打断。图21-19线拓扑规则五规则六:Mustnotselfintersect,同一要素类中,线要素不能自相交,例如枝状的排水管。违反规则的地方将产生线错误和点错误,修改的方法是在自相交处适当缩短或外移。图21-20线拓扑规则六图21-21线拓扑规则七规则七:Mustnotintersectortouchinterior,线和线不能交叉,端点不能和非端点接触(非端相互重合是允许的)。例如铁路和铁路不能交叉。某铁路端点不能和其

12、他铁路的非端点部分接触。违反规则的地方将产生线错误和点错误,该错误根据实际需要编辑、修改。规则八:Mustbesinglepart,线要素必须单独,不能相互接触、重叠。违反规则的地方将产生线错误,修改的方法是将接触的地方合并,成为一个要素,或移动后分离。图21-22线拓扑规则八规则九:Mustnotoverlapwith,两个线要素类中的线段不能重叠。违反规则的地方将产生线错误,该错误根据实际需要编辑、修改。图21-23线拓扑规则九规则十:Mustbecoveredbyfeatureclassof,某个要素类中的线段必须被另一要素类中的线段所覆盖。例如公交线路必须行驶在道路上。违反规则的地方将

13、产生线错误,修改的方法是将错误线段删除,再重新输入正确的。图21-24线拓扑规则十规则十一:Endpointmustbecoveredby,线要素的端点被点要素覆盖。例如每一条公交线路的尽端必须有终点站。违反规则的地方将产生点错误,修改的方法是增补新的点要素。图21-25线拓扑规则十一规则十二:Mustbecoveredbyboundaryof,线要素必须被多边形要素的边界覆盖。例如城市的内部道路至少一侧有地块多边形边界。违反规则的地方将产生线错误,修改的方法是删除错误的线,或编辑多边形。图21-26线拓扑规则十二一个要素类允许设置多个拓扑规则,但是这些规则必须定义在一个拓扑类中。2拓扑规则用

14、于数据质量的检验和控制21建立线要素拓扑规则启动ArcCatalog,在窗口左侧将路径定位到gis_ex09ex22,其中有Geodatabasegeo22,双击鼠标展开其中的数据集,出现数据集dataset1。在dataset1中有线要素类lotlines,是地块边界线。本练习目的是通过建立线要素类lotlines的拓扑关系,检验输入的线要素是否全部封闭,为下一步构成地块多边形作准备。选择dataset1,单击鼠标的右键,在弹出的菜单中,选择New/Topology,表示新建拓扑规则。出现NewTopology(新拓扑)对话框。如果dataset1的拓扑规则已经存在,系统会提示无法建立拓扑规

15、则。这时用选择dataset1下侧的拓扑关系图标,用鼠标右键选择Delete,将曾经建立的拓扑规则删除后再重建。在NewTopology(新拓扑)对话框中,点击按钮“下一步”,有两个设置:Enteranameforyourtopology:topology1键盘输入新建拓扑规则的名称EnteraclusterTolerance要求输入限差值,本练习用默认值,不修改图21-27选择拓扑规则按“下一步”键继续,提示Dataset1中的各种要素类名称,勾选lotlines,表示为该要素建立拓扑规则。按“下一步”键,出现Rank设置对话框,保持默认值,再选“下一步”按钮,提示:Specifytheru

16、lesforthetopology要求定义拓扑规则。点击左侧按钮AddRule,为要素类添加拓扑规则(见图21-27)。Featuresoffeatureclass下拉选择要素类lotlinesRule:下拉选择规则MustNotHaveDangles,不能出现悬点ShowErrors勾选图21-28拓扑错误按OK键,返回Specifytherulesforthetopology对话框,按“下一步”按钮,再按“完成”键。经ArcCatalog处理,建立拓扑规则,系统提示:Thenewtopologyhasbeencreated.Wouldyouliketovalidateitnow?意思是拓扑

17、规则已建立,提问是否使它有效?选“是(Y)”,可以看到在dataset1下多了一个topology1类,它有拓扑关系图标。鼠标单击topology1,在ArcCatalog右侧窗口,选择标签Preview,可以看到有三个红色的小方块表示悬点,他们就是有拓扑错误的地方(见图21-28)。2.2修改拓扑错误启动ArcMap,打开地图文档gis_ex09ex22ex22.mxd,有一个空的dataframe1,按图标添加图层,在路径gis_ex09ex22下展开geo22(Geodatabase),选择dataset1中的topology1,按OK键确定。系统出现提示:“Doyoualsowantt

18、oaddallfeatureclassesthatparticipatein“topology1”tothemap?”,意思是是否将所有与拓扑类topology1有关的要素类都加载进来?选择“是(Y)”。可以看到,添加两个图层:“lotsline”、“topology1”。其中,其中拓扑错误以红色方块显示。在ArcMap标准按钮一栏中点击按钮,调用出Editor工具条,也可在菜单中选用View/Toolbars/Editor。在Editor工具栏中选择Editor/Moreeditingtools/Topology,调出拓扑(Topology)工具栏(见图21-29)。图21-29拓扑工具栏虽

19、然都是用红方块表示错误,但每个错误的类型都不一样,用工具放大左上角方块,可以发现这个错误是因为线的端点过长(称为Overshoot,参见图21-30)。在Topology工具栏点,选中该红色方块(用框选方式可能比较方便)。方块变成黑色表示被选中,点鼠标右键弹出菜单,选择Trim。在弹出的MaximumDistance对话框中输入2,按回车,长出的部分被截去了。输入2的意思是:如果长出去的悬挂线(Dangleline)的长度小于2个坐标单位就截去。具体应用时如何判断合适的长度,可以用Tools工具栏中的大致量一下出头部分的长度,从状态栏的Segment读数可知长度大致为0.5,实际输入一个略大于

20、0.5的值即可。图21-30线过长(Overshoot)点击(或者按),回到最开始的视图,用放大左下角的红色方块,可以发现这个错误是端点离目标线差一段距离,过短(称Undershoot,参见图21-31)。在Topology工具栏点击图标,弹出ErrorInspector窗口。勾选Visibleextentonly,表示只在可视的地图范围内找错误,按Searchnow按钮,在窗口下方出现了一行记录,表示找到了一个错误(见图21-32)。图21-31线过短(Undershoot)图21-32错误检查窗口点击该行记录,红色方块变成黑色(被选中),在该行上点鼠标右键,在弹出的菜单选择Extend,输

21、入2后按回车,错误被改正了。点击图标,回到开始的视图,用放大右下角的红色方块,这处的错误是有一条多余的线(见图21-33),用选中方块,在鼠标右键菜单中选择SelectFeatures,按键盘上的Delete键,多余的线被删除了。需注意,如果用Extend方法(延长),该错误也会被“改正”,但是很显然不应该用Extend方法,放大并看清错误的原因很重要的。图21-33另一种悬挂线,实际上是多余线图21-34DirtyArea下面还要验证一下,刚才编辑过的地方是否还有拓扑错误。在TOC中选择Topology1,单击右键,在弹出的菜单选Properties,选Symbology标签,勾选Dirty

22、Areas,按“确定”键。这时,地图上刚才编辑过的地方被3个蓝色矩形框住了,这3个矩形就是DirtyAreas(见图21-34)。只要对DirtyAreas验证就可以了。在Topology工具栏上选(该工具是在Class)被打开,针对parcel2,可以看到有一个Res字段,纪录取值为0或者1,选定的区域内验证拓扑规则),框选3个矩形框,蓝色矩形消失了,说明该区域不存在拓扑错误了。线要素类lotsline的数据质量检验完成。选择编辑工具条中的菜单Editor/StopEditing,结束编辑状态,根据提示,选择“是(Y)”,保存编辑。选用菜单File/Exit,退出ArcMap。2.2生成地块

23、多边形启动ArcCatalog,定位到D:gis_exex22geo22下的dataset1,点击dataset1,单击右键,选择菜单New/PolygonFeatureClassFromLines(从线要素产生多边形),出现对话框:Enternameforthefeatureclass:lotspolygon输入生成的多边形名称EnteraclusterTolerance要求输入限差值,本练习用默认值,不修改在下方的对话框中勾选lotlines,按OK按钮。在dataset1中,根据线要素lotlines,生成了一个新多边形要素类lotspolygon,有关错误已经修改。3拓扑规则用于空间分

24、析3.1建立多边形拓扑规则本练习要求作一个分析:某公司准备在该地区开一个卡拉OK厅,位置要沿道路,但是不能开在居住用地沿线的道路上,避免干扰居民生活,要求将不符合条件的路段找出来。启动ArcCatalog,在左侧路径栏中找到D:gis_ex09ex22geo22(Geodatabase),双击展开,双击dataset2,可以看到该要素数据集里包含了两个多边形要素类:blocks和parcel2,在右侧的显示框内点击标签Preview,下侧出现Preview下拉框,选择Geography,可以分别显示该要素类的大致图形(见图21-35,图21-36),在Preview下拉框中选择Table,该要

25、素类的属性表(AttributeTableofFeatureClass)被打开,针对parcel2,可以看到有一个Res字段,纪录取值为0或者1,0表示非居住用地,1表示居住用地。图21-35以道路划分的街坊(blocks)图21-36进一步细化的地块(parcel2)在ArcCatalog左侧目录框中双击要素类(FeatureClass)parcel2,单击右键,选择菜单Properties,打开FeatureClass属性窗口。在其中,点击Subtypes标签,参考图21-37进行设置:SubtypeField:Res下拉选择Subtype字段为ResDefaultSubtype:非居住用

26、地下拉选择Subtype默认值为“非居住用地”图21-37建立Subtype如果不出现“非居住”、“居住”下拉值,须事先输入:Code(属性值)Description0非居住用地键盘输入1居住用地键盘输入按“确定”按钮,关闭FeatureClassProperties对话框。在目录框中展开dataset2,如果该数据集中已经存在拓扑规则的定义(如dataset2_Topology,一般原因是前次练习已经建立了拓扑规则,用鼠标右键点击该拓扑规则名,选菜单Delete,对ConfirmDelete对话框,回答“是(Y)”,将已经存在的拓扑规则删除。)确认没有拓扑规则后,再用鼠标右键单击datase

27、t2,选择菜单New/Topology,弹出NewTopology对话框,点击“下一步”:Enteranameforyourtopology:dataset2_Topology输入拓扑规则数据名称Enteracluster用默认值点击“下一步”,勾选blocks和parcel2两个要素类,再点击“下一步”,提示输入Rank值,接受系统默认值,再点击“下一步”,点击按钮AddRule,增加拓扑规则,在弹出的输入对话框按进行设置:Featuresoffeatureclass:block下拉选择Rule:AreaBoundaryMustBeCoveredByBoundaryof下拉选择Feature

28、class:parcel2:非居住展开parcel2,后再下拉选择ShowErrors在对话框右侧勾选,要求显示拓扑错误按OK键继续,可以看到拓扑规则的描述:blocks-AreaBoundaryMustBeCoveredByBoundaryOf-parcel2:非居住意思是:blocks(街坊)边界必须和parcel2(地块细分)中非居住用地的边界重合,不满足规则的边界线将被作为错误标出来。经过Subtype设置,parcel2(地块细分)中属性为非居住的已被定义(Res等于0),就满足了分析的要求。点击“下一步”,点击“完成”,系统需要计算一段时间,产生拓扑规则数据,再出现提示:Thene

29、wtopologyhasbeencreated.Wouldyouliketovalidateitnow?(新的拓扑规则已经建立,是否使它有效?)按“是(Y)”按钮,在dataset2下出现拓扑规则数据名称dataset2_Topology和对应的图标。选用菜单File/Exit退出ArcCalalog。图21-38显示不能建设卡拉OK厅的区域(拓扑错误区)3.2查看分析结果启动ArcMap,打开gis_ex09ex22ex22.mxd,激活dataframe2,按图标,添加D:gis_ex09ex22geo22dataset2dataset2_Topology,出现提示:“Doyoualsow

30、anttoaddallfeatureclassesthatparticipateindataset2_Topologytothemap?”选择“否(N)”。拓扑类dataset2_Topology添加显示出来,有拓扑错误的地方都用红色粗线(LineErrors)标出来。这些红线是不允许开设卡拉OK厅的位置,他们是居住用地的边界(图21-38)。结束练习,选用菜单File/Exit退出ArcMap,系统提示是否保存对地图文档的修改,为了不影响别人、后续的练习,应回答“否(N)”。4建立拓扑规则的注意事项建立拓扑规则比较简单,查错、改错时需要注意若干专门术语,包括ClusterTolerance,

31、Rank,DirtyArea,ErrorandException。其中ClusterTolerance和Rank在建立拓扑规则时遇到的,DirtyArea和ErrorandException是拓扑编辑时用到的。ClusterTolerance的中文意思是线簇之间的限差,是一个长度值,在ArcGIS建立拓扑规则的时候,如果两个拐点(Vertex)之间的距离小于ClusterTolerance,那么这两个拐点就被焊接(Snap)在一起,变成了一个拐点。这里所说的两个不同的拐点被焊接在一起,是属于需要建立拓扑规则的不同的要素类(FeatureClass),如果同一个线要素类(LineFeatureC

32、lass)内部不建拓扑规则,许多根线,他们的相互距离很近,不同的拐点(Vertex)之间的距离小于ClusterTolerance的设定值,也不会被焊接在一起。只有分别属于需要建立拓扑规则的要素类之间的拐点相互距离小于指定值时,才会有焊接作用。ClusterTolerance可用默认值,也可键盘输入,值的大小根据要素类的精度和几何范围确定。既然有焊接(Snap)过程,要素就会移动,Rank表示等级,每个要素类在参与拓扑规则时都会有一个Rank值,如果需要焊接,Rank值低的要素类的拐点向Rank值高的要素类的拐点移动,实现焊接。前文建立拓扑规则时,参与的要素类只有lotlines自身,这时,焊接过程就发生在同一个要素类的内部,所以它的Rank值不起作用。DirtyArea的中文意思是责任区,是指被编辑过的区域,该区域中可能有违反拓扑规则的要素。DirtyArea用一个矩形框把编辑过的地方围起来,验证拓扑规则的时候,只需要对这些矩形框进行验证,这就提高了计算机的处理效率(对练习用的小数据量而言,计算时间的长短是微不足道的)。Error的中文意思是出错,值违反拓扑规则的地方,用红色方块表示。某些可接受的Error被称之为Exception(例外)。5本章小结Geodatabase可以建立多种点、线、多边形的拓扑规则,用于控制要素类之间特定的空间关系。Geodatab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论