免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 25686|回复: 55
收起左侧

[经验共享] 收集最完整的arcgis拓扑处理

    [复制链接]

3

主题

85

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
23
发表于 2011-8-5 20:05 | 显示全部楼层 |阅读模式
ArcGIS中的拓扑
[第一部分]
Arcgis中topolopy说明:

在arcgis中有关topolopy操作,,有两个地方,一个是在arccatalog中,一个是在arcmap中。通常我们将在arccatalog中建立拓扑称为建立拓扑规则,而在arcmap中建立拓扑称为拓扑处理。

arccatalog中所提供的创建拓扑规则,主要是用于进行拓扑错误的检查,其中部分规则可以在容限内对数据进行一些修改调整。建立好拓扑规则后,就可以在arcmap中打开些拓扑规则,根据错误提示进行修改。

arcmap中的topolopy工具条主要功能有对线拓扑(删除重复线、相交线断点等,topolopy中的planarize lines)、根据线拓扑生成面(topolopy中的construct features)、拓扑编辑(如共享边编辑等)、拓扑错误显示(用于显示在arccatalog中创建的拓扑规则错误,topolopy中的error inspector),拓扑错误重新验证(也即刷新错误记录)。

[第二部分]
在arccatalog中创建拓扑规则的具体步骤?

要在arccatalog中创建拓扑规则,必须保证数据为geodatabase格式,且满足要进行拓扑规则检查的要素类在同一要素集下。

因此,首先创建一个新的geodatabase,然后在其下创建一个要素集,然后要创建要素类或将其它数据作为要素类导入到该要素集下。

进入到该要素集下,在窗口右边空白处单击右键,在弹出的右键菜单中有new->topolopy,然后按提示操作,添加一些规则,就完成拓扑规则的检查。

最后在arcmap中打开由拓扑规则产生的文件,利用topolopy工具条中错误记录信息进行修改。

[第三部分]
有关geodatabase的topology规则

多边形topology
1.must not overlay:单要素类,多边形要素相互不能重叠
2.must not have gaps:单要素类,连续连接的多边形区域中间不能有空白区(非数据区)
3.contains point:多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点
4.boundary must be covered by:多边形+线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素)
5.must be covered by feature class of:多边形+多边形,第一个多边形层必须被第二个完全覆盖(省与全国的关系)
6.must be covered by:多边形+多边形,第一个多边形层必须把第二个完全覆盖(全国与省的关系)
7.must not overlay with:多边形+多边形,两个多边形层的多边形不能存在一对相互覆盖的要素
8.must cover each other:多边形+多边形,两个多边形的要素必须完全重叠
9.area boundary must be covered by boundary of:多边形+多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖
10.must be properly inside polygons:点+多边形,点层的要素必须全部在多边形内
11.must be covered by boundary of:点+多边形,点必须在多边形的边界上

线topology
1.must not have dangle:线,不能有悬挂节点
2.must not have pseudo-node:线,不能有伪节点
3.must not overlay:线,不能有线重合(不同要素间)
4.must not self overlay:线,一个要素不能自覆盖
5.must not intersect:线,不能有线交叉(不同要素间)
6.must not self intersect:线,不能有线自交叉
7.must not intersect or touch interrior:线,不能有相交和重叠
8.must be single part:线,一个线要素只能由一个path组成
9.must not covered with:线+线,两层线不能重叠
10.must be covered by feature class of:线+线,两层线完全重叠
11.endpoint must be covered by:线+点,线层中的终点必须和点层的部分(或全部)点重合
12.must be covered by boundary of:线+多边形,线被多边形边界重叠
13.must be covered by endpoint of:点+线,点被线终点完全重合
14.point must be covered by line:点+线,点都在线上

[第四部分]
Geodatabase组织结构。

Geodatabases中,将地理数据组织成为数据对象(data objects)。这些数据对象存储于要素类(feature class)、对象类(object class)或要素集(feature datasets)中。

对象类(object class)用于存储非空间信息。

要素类(feature class)则存储了空间信息及其相应的属性信息,在同一个要素类中,空间要素的几何形状必须一致,比如必须都是点、线或者面。简言之,要素类是同类要素的集合。

要素集(feature dataset)用于存放具有同一空间参考(spatial reference)的要素类。存放了简单要素的要素类可以存放于要素集中,也可以作为单个要素类直接存放在Geodatabase的目录下。直接存放在Geodatabase目录下的要素类也称为独立要素类(standalone feature)。存储拓扑关系的要素类必须存放到要素集中,使用要素集的目的是确保这些要素类具有统一的空间参考,以利于维护拓扑。Geodatabase支持要素类之间的逻辑完整性,体现为对复杂网络(complexnetworks)、拓扑规则和关联类等的支持。下面描述Geodatabase中的数据对象(data objects)。

要素类(Feature class)
要素类,可称为点、线或面类型要素的集合,同时,地图的文本信息也可用注记(annotation)要素类存储。非独立要素类,也就是相关联的要素类(如参与拓扑规则或者几何网络的要素类),以要素集的形式管理到一起。

栅格数据集(Raster data set)
以栅格表的形式管理的单或多波段栅格数据。

表(Tables)
描述非空间信息的表。

关联类(Relationships)
关联类是一种机制:从一个表(要素类)中选择记录以后,可以在相关联的表(要素类)中可以获取到相应记录。

域(Domains)
列有效值的一个列表(或范围)。

子类(Subtypes)
将要素类中的要素进行了逻辑分组,每一个分组便是一个子类。每一个这样的都有其完整性规则和GIS行为(如高速公路,是道路要素的一个子集)。

空间关系(Spatial relationships)
在拓扑工具(topologies)或几何网络(Geometricnetwork)中定义。拓扑规则可以指定要素类中的要素之间有何种空间关系,如地块之间不能重叠(overlap),或者多个不同要素类中的要素之间的空间关系,比如国家首都(点要素)必须位于该国家疆土(面要素)上。

元数据(Metadata)
数据库中的每个元素的描述文档。
1.拓扑规则简介
在实际应用时,有时需要在要素之间保持某种特定的关系,比如,行政管理的范围不能相互重叠,线状道路之间不能有重叠线段,某些汽车站必须在公共交通线路上等,这些特定的空间关系可用拓扑学来描述、定义。借助Geodatabase,可规定一系列拓扑规则,在要素之间建立起空间关系,还可以对这些规则(即关系)进行调整。
拓扑规则有若干专用术语。
相交(Intersect):线和线交叉,并且只有一点重合,该点不是结点(端点),称之相交。
接触(Touch):某线段的端点和自身或其他线段有重合,称为接触。
悬结点(DangleNode,Dangle):线段的端点悬空,没有和其他结点连接,这个结点(端点)称为悬结点。伪结点(PseudoNode):两个结点相互接触,连接成一个结点,称为伪结点。拓扑规则的种类可以按点、线、面(多边形)来分。以下介绍Geodatabase的拓扑规则,共25条,每条规则有一幅图对应,图的左半部分是符合规则的例子,右半部分例子中有不符合规则的地方。
2.点拓扑规则举例
点拓扑规则一:Must becovered by boundary of,点必须在多边形边界上。例如,有一个点要素类代表公共汽车站,另有一个多边形要素类代表地块,按本规则,公共汽车站必须位于地块的边界上。另一个例子是行政界碑必须落在行政区多边形的边界上。不满足该规则的点要素被标记为错误(附图1)。点拓扑规则二:Must becovered by endpoint of,点要素必须位于线要素的端点上。例如,阀门为点要素,必须位于线要素类输水管的尽端。不满足该规则的点要素被标记为错误(附图2)。点拓扑规则三:Pointmust be covered by line,点要素必须在线要素之上。例如,点要素代表河流上的航标灯,线要素代表河流,航标灯必须位于河流上。另一个例子是:汽车站(点要素类)必须在道路(线要素类)上。不满足该规则的点要素被标记为错误(附图3)。点拓扑规则四:Must beproperly inside polygons,点要素必须在多边形要素内(在边界上不酸)。比如,省行政区为多边形,省会城市为点,省会一定要在该省内。另一个例子是代表住宅地址的点必须在住宅用地多边形内。不满足该规则的点要素被标记为错误(附图4)。可以看出,点要素本身不能建立拓扑规则,必须和线要素或多边形要素一起才能建立拓扑规则。修正错误的常用方法是删除或移动错误点(移动也可以理解为删除后立即添加)。
3.多边形拓扑规则举例
规则一:Must notoverlap,同一多边形要素类中多边形之间不能重叠(几个多边形边界共享一个点或共享一条边不算重叠)(附图5)。例如,宗地之间不能有重叠,行政区不能有重叠。重叠的部分将产生多边形错误,修正错误的方法有三种:一是删除重叠部分,留出空白;二是将重叠的部分并到某个多边形;三是在重叠部分新增多边形,并删除原来的重叠部分。规则二:Must nothave gaps,多边形之间不能有空隙。比如,规定表示土壤类型的多边形之间不能有空隙(附图6)。不满足规则的地方将产生线错误,表示空隙多边形,修正的方法是调整原来的边界,或添加新的多边形。规则三:Containpoint,多边形内必须包含点要素(边界上的点不算)(附图7)。例如,规定宗地内至少有一个地址点。不包含点的多边形被视为错误,修正的方法是在错误多边形内补一个点,或者将多余的多边形删除。规则四:Boundarymust be covered by,多边形的边界必须和线要素的线段重合(附图8)。例如,交通调查小区的边界必须和道路线要素类重合。违反规则的地方产生线错误,修正的方法可以是调整线段,也可调整多边形。规则五:Must becovered by feature class of,多边形要素中的每一个多边形都被另一个要素类中的多边形覆盖(附图9)。例如,城市规划区必须在若干行政区划内,工业建筑多边形必须在工业用地内。违反规则的地方产生多边形错误,修正的方法是在重叠的部分增加新的多边形或调整错误多边形。规则六:Must becovered by,每个多边形要素都要被另一个要素类中的单个多边形覆盖。例如,建筑物多边形必须在宗地多边形内,不能出现跨越(规则五可以跨越)(附图10)。不满足规则的地方产生多边形错误,修正的方法是调整第一类多边形,使它们不要和第二类有交叉,或者扩大第二个要素类中的某些多边形,使它们能覆盖第一类中的错误多边形。规则七:Must notoverlap with,一个要素类中的多边形不能与另一个要素类中的多边形重叠。虽然和规则一相似,都是说不能重叠,但这里是指两个多边形要素类(Feature Class)之间的关系。比如,一个要素类表示湖泊,另一个要素类表示陆地,它们是相互独立的类,显然它们应该满足该规则(附图11)。重叠的部分产生多边形错误,修正方法同规则一。规则八:Must covereach other,两个要素类中的多边形要相互覆盖,外边界要一致(附图12)。例如,土壤层范围和地质层范围应一致。违反规则的地方将产生多边形错误,修正错误的方法是在重叠不到的地方增加多边形,或者调整、删除不重叠的部分。规则九:Areaboundary must be covered by boundary of,某个多边形要素类的边界线在另一个多边形要素类的边界上(附图13)。例如,县、市边界上必须有乡、镇边界,而且前者的边界必须被后者所重合。违反规则的地方将产生线错误,修正的方法是手工编辑边界。多边形不仅可以定义自身的规则,而且可以和点要素、线要素、其他多边形要素之间建立起拓扑关系。
4.线拓扑规则举例
规则一:Must nothave dangles,不允许线要素有悬结点,即每一条线段的端点都不能孤立,必须和本要素中其他要素或和自身相接触(附图14)。例如,宗地边界线段不能有悬结点。违反规则的地方将产生点错误,修正的方法是将有悬点的线段延伸到其他要素上,或者将长出的部分截断后删除。规则二:Must nothave pseudo node,不能有伪结点,即线段的端点不能仅仅是两个端点的接触点(自身首位接触是例外),例如河流(附图15)。违反规则的地方将产生点错误,修正的方法是将伪结点两边的线段合并为一个条线,伪结点自然消除。规则三:Must notoverlap,在同一要素类中,线与线不能相互重叠,例如,街道、河流(附图16)。违反规则的地方产生线错误,修正的办法是将不需要的线段截断,再删除。规则四:Must notself overlap,线要素不能和自己重叠,例如,街道(附图17)。违反规则的地方产生线错误,修正的方法是截断、删除重叠部分。规则五:Must notintersect,同一要素中,线与线不能相交,例如,河流、宗地边界(这里不是多边形边界,是线要素)(附图18)。违反规则的地方产生线错误,修正的方法是重合处合并,相交处打断。规则六:Must notself intersect,同一要素类中,线要素不能自相交(附图19)。违反规则的地方将产生线错误和点错误,修正的方法是在自相交处适当缩短或外移。规则七:Must notintersect or touch interior,线和线不能交叉,端点不能和非端点接触(非接触点部分相互重叠是允许的)(附图20)。例如,铁路和铁路可以重合,但不能交叉。某铁路端点不能和其他铁路的非端点部分接触。违反规则的地方产生线错误和点错误,根据实际需要编辑、修正。规则八:Must besingle part,线要素必须单独,不能相互接触、重叠(附图21)。违反规则的地方产生线错误,修正的方法是将接触的地方合并,成为一个要素,或移动后分离。规则九:Must notoverlap with,两个线要素类中的线段不能重叠(附图22)。例如,道路和铁路不能相互重叠。违反规则的地方产生线错误,根据实际需要编辑、修正。规则十:Must becovered by feature class of,某个要素类中的线段必须被另一要素类中的线段覆盖(附图23)。例如,公交线路必须在道路上行驶。违反规则的地方将产生线错误,修正的方法是将错误线段删除,再重新输入正确的。规则十一:End pointmust be covered by,线要素的端点被点要素覆盖。例如,每一条公交线路的尽端都有终点站(附图24)。违反规则的地方将产生错误,修正的方法是增补新的点要素或调整不应该出现的线段。规则十二:Must becovered by boundary of,线要素必须被多边形要素的边界覆盖(附图25)。例如,城市的内部道路至少一侧有地块多边形边界。违反规则的地方产生线错误,修正的方法是删除错误的线,或编辑多边形。一个要素类允许设置多个拓扑规则,但是这些规则必须定义在一个拓扑类中。
ArcGIS拓扑规则详细说明
我们在实际的图形处理中,一些图形要求满足一定的要素之间的关系,如二次调查中的地类图斑不能在行政区以外,图斑不能相互重叠,这些特定的图形之间的关系我们可以定义一些拓扑规则来加以限制。
一、点之间的拓扑关系
拓扑一(Point-Area)Mustbe covered by boundary of,(原始解释:点必须在多边形边界上。)例如:在地籍建库中,界址点必须在宗地的边界上,要是不在,那就是错误。
file:///C:/Users/lenovo/AppData/Local/Temp/msohtml1/01/clip_image025.jpg
在ArcGIS9将将Polyline线转换为Polygon面
            1.打开ArcMap用AddData加载shp Polyline线文件。
             2.选Editor编辑\Start Editing开始编辑。
             3.选Editor编辑\More Editing Tools\Topology拓扑
             4.在Topology拓扑工具栏中选Map Topology 再在Shp文件上打勾Ok
             5.用Select Features 选择指针把线全部选中,这时Topology拓扑工具栏中的Construct  Features选项为激活状态。
             6.这时点击Construct Features来检查图中有无多余的线段和点与线分离的过远,多次输入0.1和0.2的值仔调整。
             7.调整好后选Editor编辑\Save Edits保存。
             8.打开ArcToolbox选Data Management Tools\Features\双击Feature To Polygon
             特性到面在Input Features选中正在编辑的Shp文件,在Output Feature
             Class处输出文件名可改。点击Ok即可完成线面转换。
               检查有错误,缺线等,可重做第6。

arcmap中面状要素拓扑处理
问题描叙:
  在shape图层中(面状)有些对象重叠,想一次性处理掉重叠部分
解决方案:
  1.在arccatalog中对图层所在的database新建一个topology,检查拓扑错误.
  2.然后在arcmap中加载新建的toplogy,编辑对应图层,在toolbar中加载topology工具条.单击topology工具栏最后一个按钮error inspector.
   然后选择对应的规则,单击 search now按钮.则列出所有拓扑错误.选择(组合shift或ctrl键)需要修改的错误,右键选择substract/merge/create feature等相应操作,进行修改.不过要注意,可能会丢失一些数据,一定要小心
ARCGIS拓扑检查步骤与修正拓扑错误技巧
一幅人工或自动矢量化后的数据,在正式应用数据之前,应根据要求检查和修正各种拓扑错误!
    地理数据是庞大和海量的数据,无乱是人为的还是自动的矢量化,都可以出现错误,对于数据量很大的数据来说,检查和修正错误是一项枯燥复杂而且工作量很大的工作。

   根据几年来摸索的出现经验,现总结几种方法和大家讨论,欢迎大家来参加讨论和指正!
1 在workstation 工作站下 ,编辑检查数据,此法 要求源数据为 coverage,且是在黑乎乎的界面下进行操作,
虽然也可以设置编辑菜单,但总体还是要用到很多命令,比较麻烦。
第一步:把文件转为 coverage格式,进去catalog,设置其各项容限值(在文件属性中 tolerance项,根据精度要求设置)
第二不:进入arc下修改!
           启动workstation的arc环境,输入ae(注释:arcedit),ec + (cov文件路径)
具体命令格式可以输入help,查看帮助
显示悬挂线的命令是:de arc node dangle ;回车
nodec dangle 2   回车
disp999,回车
draw,回车
这样所有的悬挂的着,为接上的线错误,都显示为红色,接下来只要用相应的命令进行处理修改就可以!
建议大家,修改前,对图层做一下build处理,这样好多细小的错误它都回自动处理掉,注意选择好参数!
2 将数据装载如个人地理数据库,用拓扑功能自动检查数据错误
(此法可在arcmap下进行,界面友好,比较适合于拓扑错误不是很多的图形修改)
1.     启动ArcCatlalog;任意选择一个本地目录,2.     "右键"->"新建"->"创建个人personalGeoDatabase";3.     选择刚才创建的GeoDatabase,"右键"->"新建"->"数据集dataset";4.     设置数据集的坐标系统,如果不能确定就选择你要进行分析的数据的坐标系统;5.     选择刚才创建的数据集,"右键"->"导入要素类import --feature class single",导入你要进行拓扑分析的数据;6.     选择刚才创建的数据集,"右键"->"新建"->"拓扑",创建拓扑,根据提示创建拓扑,添加拓扑处理规则;7.    进行拓扑分析。8.     最后在arcmap中打开由拓扑规则产生的文件,利用topolopy工具条中错误记录信息进行修改,将数据集导入ARCMAP中,点击edit按钮进行编辑。9.     打开eidt下拉菜单,选择more editing tools-topology出现拓扑编辑工具栏。10. 选择要拓扑的数据,点击打开error inspector按钮。11. 在errorinspector对话框中点击search now,找出所有拓扑的错误。12. 对线状错误进行Mark as Exception。13. 对polygon错误逐个检查,首先选择错误的小班,点击右键选择zoom to,然后点击merge,选择合适的图班进行merge处理,这样不会丢失小班信息。另一个说法:
用catalog 建一个个人地理数据库,new一个featuredataset
把要修改错误的shp文件导入到featuredataset下面
然后右键点featuredataset,new一个topoloy数据层,
点击下一步,勾选刚才导入的shp层,下一步,添加拓扑检查规则,这一步很重要,你要显示断线,没接上的线,出头线等,都要选相应的拓扑规则!选完之后,点下一步完成
catalog生成一个拓扑检查层文件,用arcmap打开该文件
就可以看见你需要显示的错误,这样再用编辑工具修改起来就方便好多
ArcGIS中的拓扑
什么是拓扑?是反映空间要素和要素类之间的关系的数据模型或格式
——
要素:是现实对象的GIS表示
空间数据用于保证数据质量的完整性规则
一致性、相邻性、联通性……
实际的空间关系示例:
地块不能相互压盖
用地多边形的边界必须与用地红线完全重叠
用地红线不能有悬挂结点
……
道路与公共汽车线路
海岸线与国界Coverage 拓扑
固定的数据模型:
   
基本的:     Polygon Arc Node
   
核心的:     RegionsRoutes
一组固定的完整性规则:
Label
点必须在多边形内
多边形边界必须被ARCs覆盖
多边形必须封闭
多边形不能重叠(只有regions可以)
著名的 CleanBuild 命令
Geodatabase的拓扑
灵活的数据模型:多个不同种类的要素类可以放在同一要素数据集中
灵活的完整性规则:自己根据需要定义完整性规则Polygon规则
Polygon class
不能有缝隙
Polygons
不能压盖
Polygons
必须相互覆盖
Polygon class
嵌合成其它Polygon class
Polygons
必须被polygons覆盖
Polygons
不得被polygons覆盖Line 规则
Line
必须被polygons的边界覆盖
Lines
不能重叠
Lines
不能相交
Lines
不能有悬挂结点
Lines
不能有伪结点
……
Point 规则
Point
必须被 polygon的边界覆盖
Point
必须在 polygon
Point
必须被 line 压盖
Point
必须被线的端点压盖
……
ArcCatalog 提供的拓扑向导工具中的六个步骤:
1
、拓扑关系命名
2
、指定cluster tolerance
3
、选择参与拓扑关系的要素
4
、设定坐标精度级别
5
、指定拓扑规则
6
、验证拓扑关系




评分

参与人数 3威望 +3 铜板 +5 收起 理由
Timelesswt + 2
b176877840 + 3 赞一个!
yczcc + 3

查看全部评分

8

主题

6109

铜板

9

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1301
QQ
发表于 2011-8-8 07:35 | 显示全部楼层
:@:@:mg
好床垫,不变芯。

23

主题

5383

铜板

30

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
909
发表于 2011-8-8 07:58 | 显示全部楼层
真的很麻烦的
该会员没有填写今日想说内容.

0

主题

1195

铜板

9

好友

助理工程师

Rank: 5Rank: 5

积分
232
发表于 2011-8-8 08:59 | 显示全部楼层
学习一下啦  感谢啊

2

主题

2145

铜板

2

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
849
发表于 2011-8-8 11:56 | 显示全部楼层
看看,挺好,谢谢

1

主题

5026

铜板

8

好友

助理工程师

Rank: 5Rank: 5

积分
261
发表于 2011-8-12 16:12 | 显示全部楼层
看晕了 ,不过还是很值得仔细研究一下:mg:zt:zt

45

主题

2万

铜板

118

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
3790

灌水勋章冰雪节勋章

发表于 2011-8-13 20:15 | 显示全部楼层
资料挺详细的,感谢分享~多补补基本功知识~
该会员没有填写今日想说内容.

0

主题

110

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
81
QQ
发表于 2011-8-14 14:46 | 显示全部楼层
顶一下。。。。

2

主题

176

铜板

0

好友

助理工程师

Rank: 5Rank: 5

积分
132
发表于 2011-8-16 11:40 | 显示全部楼层
学习一下啦  感谢啊

0

主题

2293

铜板

3

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
481
发表于 2011-11-27 21:14 | 显示全部楼层
lwb_hao 发表于 2011-8-16 11:40
学习一下啦  感谢啊

资料挺详细的,感谢
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表