注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面朝大海 春暖花开

一点心得,转载本博客文章,请注明转帖,谢谢!

 
 
 

日志

 
 
关于我

中国科学院博士 主要从事遥感机理、定量反演、数据处理以及GIS应用研究。ArcGIS、Envi 、ERDAS、Ecognition软件、IDL语言、6S、SAIL

网易考拉推荐

ARCGIS拓扑关系错误及修改  

2013-06-21 15:53:08|  分类: arcgis |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

ARCGIS是一个功能强大的软件,能进行各种类型的空间分析和数据错误检查。

? 拓扑错误是矢量数据最常见的一种错误,原因复杂多样。 地理数据是庞大和海量的数据,无论是人为的还是自动的矢量化,都可以出现错误,对于数据量很大的数据来说,检查和修正错误是一项枯燥复杂而且工作量很大的工作。如果在进行数据处理和分析之前,不进行拓扑错误检查和修改,可能会造成错误的结果,最常见的情况是不能进行下一步的分析和处理。? 因此 鉴于拓扑关系的重要性,这里对这些错误进行一些初步总结,希望能抛砖引玉,同时在本博文中引用了相关的博客内容。在开始的时候并没有打算写成博文,只是将一些博客的内容写成了一个小小的文档,所以没有记录引用博文的链接地址,所以,如果在本博文中有版权问题,请麻烦告知。

? 至于出现拓扑错误的原因,在arcgis帮助说明中有这么一句话

?? Some nonnative formats have feature representations that are invalid in the geodatabase and shapefile structures. For example, some CAD structures do not carry point geometry. These points are represented as lines with coincident start and end points. While this may be valid in the original CAD format, it is not valid in a GIS

也就是说,如果矢量文件不是在arcgis下生成的,那么可能会产生错误,并以cad文件为例进行说明

还有人认为是容差的问题

? “shp是没有拓扑的,所以小于预定容差在shp里面是合理的
但是当把shp导入mdb数据集后,需要设置容差,那么,在shp里面有些两线之间小于容差的距离就会偏移或合并,导致一些self intersection或emty geometry情况的出现,如果没有进行repair,那么再进行数据处理时就会出现[999999] valid topo错误。个人觉得这种问问题主要原因在于容差

?? 在Desktop的toolbox中一个check geometry工具,可以检查矢量数据中的拓扑错误。如果是coverage文件的话,生成的拓扑检查结果需要在workstation中查看拓扑错误。数据问题种类包括:Short segment(短片段)、cfield(无几何图形)、Incorrect ring ordering(不正确的环走向)、Incorrect segment orientation(不正确的片段方向)、Self-intersections(自相交)、Unclosed rings(未封闭的环)、Empty parts(空的部分)。

?? 对于检查中的错误,可采用repair geometry工具修复。ArcToolbox->Datamanagement tools->features->repair geometry

??? 首先是用ArcToolbox->Datamanagement tools->features-> check geometry工具,检查数据的问题,然后用ArcToolbox->Datamanagement tools->features->repair geometry工具进行修复。

repair geometry可以修复以下几个问题:

1、Short segment(短片段):有些片段比空间参考的系统的单位所允许的值要短,这些空间参考与几何图形相连。短片段错误将被repair geometry工具删除。

2、cfield(无几何图形):在某些shape字段中,有些要素没有几何图形。无几何图形将被repair geometry工具删除。

3、Incorrect ring ordering不正确的环走向):一个面在拓扑学上来说是很简单的,但是它的环的走向不一定是正确的,外环—顺时针;内环—逆时针,不正确的环走向将被修改。ArcGIS默认顺时针图形为正手工画polygon的时候不管怎么画结果都是顺时针的。如果不正确的话,可能会导致图层的面积属性shape_area出现了负值,一般负值的出现是转换过程出现问题,polygon是由ring组成的,ring则是有更小的segement(line,circularArc,ellipticalArc,beziercurve)构成,所具有方向性

4、Incorrect segment orientation(不正确的片段方向):不正确的片段有不一致的方向,不正确的片段方向将被修改。

5、Self-intersections(自相交):每一个部分的内部不能与自己或者其它部分相交,自相交将被修改。

6、Unclosed rings(未封闭的环):环的首位点必须相连,未封闭的环将被修改。

7、Empty parts(空的部分):几何图像包含空的部分,空的部分将被修改。

8.Null geometry—The feature will be deleted from the feature class.To keep records with null geometry, uncheck the tool dialog option Delete Features with Null Geometry, or in scripting set the delete_null parameter to KEEP_NULL.

用repair geometry工具修复之后,需要保存数据,在编辑工具条中,通过editor->save,保存修复的结果,如在保存过程中报错,参照以下错误进行处理:

1、保存时报“文件共享锁定数溢出(Error 3052)”错误。原因1,Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 '80040e21'。

解决办法:修改注册表。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0] "MaxLocksPerFile"=dword:05f5e0ff

将MaxLocksPerFile默认的十进制值9500改大即可,改成十进制的99999999。

2、保存时报“文件共享锁定数溢出(Error 3052)”错误。原因2,可能是由于图层中存在无图形有属性,删除该属性就OK了。

关于check geometry 和repair geometry的详细说明可参考arcgis的帮助

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000034000000

http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Checking_and_repairing_geometries

对于某些比较简单的拓扑错误,可以在arcmap中修改。

Editing the feature class with the geometry problem, and fixing each individual problem identified. Some of these problems (like non-simple geometry) can be fixed by double clicking the feature in the editor and saving the edits.

此外,对于其他的一些错误,修改方法如下

一、面不能相互重叠(must not overlap)
修改方法有以下几种:
1、可以直接修改要素节点去除重叠部分。
2、在错误上右键选择merge,将重叠部分合并到其中一个面里。

3、在错误上右键选择create feature,将重叠部分生成一个新的要素,然后利用 editor 下的merge 把生成的面合并到相邻的一个面里。
4、用editor 下clip 直接裁剪掉重叠部分。
二、面不能有缝隙(must not have gaps)
1、可以直接修改要素节点去除重叠部分。
2、在错误上右键选择create feature,将缝隙部分生成一个新的要素,然后利用 editor 下的merge 把生成的面合并到相邻的一个面里。
3、task 里选择auto-complete polygon,用草图工具自动完成多边形,会在缝隙区域自动生成两个多边形,然后用merge 合并到相邻面里。
注:查面的缝隙时最面最外围一圈会认为是缝隙,这种可以标注例外。
三、线不能相交(检查线要素不能重叠规则包含在线不能相交里)
1、完全重叠的话可以选中其中一条删除,或者利用spatial etl tool 中相关函数进行删除重复线处理。
2、部分重叠可以在错误上右键选择subtract 去除重复部分
3、直接用平面交叉线对线重叠进行去除,相交线打断,具体用法为选中线,点击拓扑工具条上平面交叉线工具。
四、线不能有悬挂
1、根据实际情况对线进行修改消除悬挂线。
2、可以在拓扑错误列表中选中所有悬挂错误右键进行自动延伸和裁剪。延伸或裁剪时需输错一个距离,小于这个距离的悬挂线会被自动延伸或裁剪。
五其他错误
多部分要素
A、可以用高级编辑工具条上打散要素进行打散
B、直接用toolbox 里的multipart to singlepart。

  评论这张
 
阅读(1594)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017