Lispboy 发表于 2018-12-26 12:33:54

AutoCAD图形GIS拓扑检查

本帖最后由 Lispboy 于 2018-12-26 12:37 编辑


测绘基础数据格式多种多样,目前仍然以CAD数据居多。CAD具有完善的图形绘制功能以及强大的图形编辑功能,但对于图形之间的拓扑关系检查处理能力却很有限,导致数据入库后易出现拓扑问题。当前很多做法都是借用GIS软件进行拓扑检查,这就需要将CAD格式数据转换为GIS格式矢量数据,比较繁琐。如果在CAD里直接进行图形拓扑检查和编辑将会大大提高前端数据的质量,减少后续检查修改工作,显著提高建库效率。GIS拓扑检查(线、面)通常包含以下规则(摘抄自网络,可从ArcGIS相关文档了解):面拓扑规则规则一:Must not overlap,同一多边形要素类中多边形之间不能重叠(几个多边形边界共享一个点或共享一条边不算重叠)。例如,宗地之间不能有重叠,行政区不能有重叠。重叠的部分将产生多边形错误,修正错误的方法有三种:一是删除重叠部分,留出空白;二是将重叠的部分并到某个多边形;三是在重叠部分新增多边形,并删除原来的重叠部分。
规则二:Must not have gaps,多边形之间不能有空隙。比如,规定表示土壤类型的多边形之间不能有空隙。不满足规则的地方将产生线错误,表示空隙多边形,修正的方法是调整原来的边界,或添加新的多边形。规则三:Contain point,多边形内必须包含点要素(边界上的点不算)。例如,规定宗地内至少有一个地址点。不包含点的多边形被视为错误,修正的方法是在错误多边形内补一个点,或者将多余的多边形删除。规则四:Boundary must becovered by,多边形的边界必须和线要素的线段重合。例如,交通调查小区的边界必须和道路线要素类重合。违反规则的地方产生线错误,修正的方法可以是调整线段,也可调整多边形。规则五:Must be covered byfeature class of,多边形要素中的每一个多边形都被另一个要素类中的多边形覆盖。例如,城市规划区必须在若干行政区划内,工业建筑多边形必须在工业用地内。违反规则的地方产生多边形错误,修正的方法是在重叠的部分增加新的多边形或调整错误多边形。规则六:Must be covered by,每个多边形要素都要被另一个要素类中的单个多边形覆盖。例如,建筑物多边形必须在宗地多边形内,不能出现跨越(规则五可以跨越)。不满足规则的地方产生多边形错误,修正的方法是调整第一类多边形,使它们不要和第二类有交叉,或者扩大第二个要素类中的某些多边形,使它们能覆盖第一类中的错误多边形。规则七:Must not overlapwith,一个要素类中的多边形不能与另一个要素类中的多边形重叠。虽然和规则一相似,都是说不能重叠,但这里是指两个多边形要素类(Feature Class)之间的关系。比如,一个要素类表示湖泊,另一个要素类表示陆地,它们是相互独立的类,显然它们应该满足该规则。重叠的部分产生多边形错误,修正方法同规则一。规则八:Must cover eachother,两个要素类中的多边形要相互覆盖,外边界要一致。例如,土壤层范围和地质层范围应一致。违反规则的地方将产生多边形错误,修正错误的方法是在重叠不到的地方增加多边形,或者调整、删除不重叠的部分。规则九:Area boundary mustbe covered by boundary of,某个多边形要素类的边界线在另一个多边形要素类的边界上。例如,县、市边界上必须有乡、镇边界,而且前者的边界必须被后者所重合。违反规则的地方将产生线错误,修正的方法是手工编辑边界。
线拓扑规则规则一:Must not havedangles,不允许线要素有悬结点,即每一条线段的端点都不能孤立,必须和本要素中其他要素或和自身相接触。例如,宗地边界线段不能有悬结点。违反规则的地方将产生点错误,修正的方法是将有悬点的线段延伸到其他要素上,或者将长出的部分截断后删除。规则二:Must not have pseudonode,不能有伪结点,即线段的端点不能仅仅是两个端点的接触点(自身首位接触是例外),例如河流。违反规则的地方将产生点错误,修正的方法是将伪结点两边的线段合并为一个条线,伪结点自然消除。规则三:Must not overlap,在同一要素类中,线与线不能相互重叠,例如,街道、河流。违反规则的地方产生线错误,修正的办法是将不需要的线段截断,再删除。规则四:Must not self overlap,线要素不能和自己重叠,例如,街道。违反规则的地方产生线错误,修正的方法是截断、删除重叠部分。规则五:Must not intersect,同一要素中,线与线不能相交,例如,河流、宗地边界(这里不是多边形边界,是线要素)。违反规则的地方产生线错误,修正的方法是重合处合并,相交处打断。规则六:Must not selfintersect,同一要素类中,线要素不能自相交。违反规则的地方将产生线错误和点错误,修正的方法是在自相交处适当缩短或外移。规则七:Must not intersector touch interior,线和线不能交叉,端点不能和非端点接触(非接触点部分相互重叠是允许的)。例如,铁路和铁路可以重合,但不能交叉。某铁路端点不能和其他铁路的非端点部分接触。违反规则的地方产生线错误和点错误,根据实际需要编辑、修正。规则八:Must be single part,线要素必须单独,不能相互接触、重叠。违反规则的地方产生线错误,修正的方法是将接触的地方合并,成为一个要素,或移动后分离。规则九:Must not overlapwith,两个线要素类中的线段不能重叠。例如,道路和铁路不能相互重叠。违反规则的地方产生线错误,根据实际需要编辑、修正。规则十:Must be covered byfeature class of,某个要素类中的线段必须被另一要素类中的线段覆盖。例如,公交线路必须在道路上行驶。违反规则的地方将产生线错误,修正的方法是将错误线段删除,再重新输入正确的。规则十一:End point must becovered by,线要素的端点被点要素覆盖。例如,每一条公交线路的尽端都有终点站。违反规则的地方将产生错误,修正的方法是增补新的点要素或调整不应该出现的线段。规则十二:Must be covered byboundary of,线要素必须被多边形要素的边界覆盖。例如,城市的内部道路至少一侧有地块多边形边界。违反规则的地方产生线错误,修正的方法是删除错误的线,或编辑多边形。
CAD图形中拓扑错误主要以线、面(闭合多段线)对象为主,常见包括:线悬挂、线相交、面相交、面隙缝、线面相交等。EATool目前针对CAD图形主要错误开发了相应拓扑检查功能(需更新至2018-05-10版本),以下视频演示了相关操作。
https://v.qq.com/iframe/preview.html?vid=w06496rmdl2&width=500&height=375&auto=0


546480711 发表于 2018-12-26 16:49:15

这个悬结点的检查看起来还挺不错的,用什么算法实现的?

hjc123456789 发表于 2022-5-13 08:43:34

支持6666666666666666
页: [1]
查看完整版本: AutoCAD图形GIS拓扑检查