# 拓扑
# 拓扑检查
# 功能说明
MapGIS 10拓扑检查支持单图层的拓扑检查同时也支持两个图层之间的拓扑检查。MapGIS提供42种拓扑检查规则,可涵盖了点、线、区图层的拓扑检查。
MapGIS 10提供了针对区数据和线数据的默认检查规则,主要是用于检查数据本身的拓扑错误,以保证数据符合OGC标准,用户可在检查某项具体规则之前优先检查默认规则。
# 操作说明
1. 启动"分析"面板中"拓扑检查"功能,弹出如下所示对话框:
2. 选择拓扑检查的目标图层A。若只检查单图层,则只需要选择图层A的数据;
3. 若检查两个图层之间的拓扑错误,则首先选择图层A的数据,然后选择拓扑检查的参考图层B的数据;
4. 选择检查的拓扑规则。拓扑规则的选择会根据选择的图层A和图层B的数据类型进行动态调整;
5. 界面中,用户可进行如下操作:
- 【添加】:列表框中增加一条记录,添加的数据显示为图层A。
- 【移除】:移除列表框中选择的检查规则项。
- 【全选】:选择列表框中的所有检查规则项。
- 【导出/导入】:可将拓扑检查信息导出为xml文件,下次可再次导入直接使用;
- 【容差】:拓扑容差是一个距离值,表示处于这一距离范围内的所有节点是重合的。
- 【当前显示范围】:勾选后,只会检查出当前显示范围内的数据的拓扑错误,不处于当前显示范围内的数据的拓扑错误不会被检查出来。
- 【高级】
- 【最大错误个数】:勾选后,可输入最大错误个数, 用于设置拓扑检查错误个数的上限。当拓扑错误较多时,勾选此选项并设置上限值后,可提高检查的效率。
- 【最小弧段长度】:只有当规则为“必须没有微短线”,此选项才能输入。用于设置微短线的最小长度。若线长度小于设置的阈值,则结果有拓扑错误。
- 【最小区的面积】:只有当规则为“必须没有碎小区”,此选项才能输入。用于设置碎小区的最小面积。若区面积小于设置的阈值,则结果有拓扑错误。
- 【显示错误(红色部分)】:不勾选,显示为原始数据的图示;勾选后,红色部分为拓扑错误。
6. 点击"执行"按钮,弹出拓扑错误管理窗口,检查出来的拓扑错误显示在“拓扑错误管理”列表中。
# 拓扑错误管理
# 功能说明
在MapGIS 10进行拓扑规则检查后,所有不符合规则的记录会罗列在【拓扑错误管理】列表中。MapGIS 10提供了多种拓扑处理方法,可针对每类拓扑错误进行分类处理。比如,针对区数据的“必须没有重叠”的规则检查,MapGIS 10拓扑处理提供了“合并”和“剪除”处理方法,若有多条区重叠的拓扑错误记录,MapGIS 10还提供了“剪除”的批量处理方法。
MapGIS 10拓扑错误的结果可以保存为DB文件存储到本地。用户可使用“导出拓扑错误”的功能将拓扑错误导出并保存,下次可使用“导入拓扑错误”的功能将之前保存的拓扑错误文件导入到拓扑错误管理窗口进行查看或继续处理。
# 操作说明
1. 启动"分析"面板中"拓扑错误管理"功能,弹出如下所示对话框:
列表框右键,可选择拓扑处理的方法。
- 【过滤规则】:当用户执行多种拓扑规则检查时,可通过下拉选择规则,过滤搜索拓扑错误。
- 【当前显示范围】:勾选后,仅显示当前地图视图可见范围内的数据的拓扑错误;不勾选时,会显示所有拓扑错误。
- 【导入】:将已保存的数据库文件(*.te)文件导入,可在拓扑错误管理窗口显示拓扑错误。
- 【导出】:将拓扑错误列表导出为本地文件,以供下次查看和使用。目前可支持数据库文件(*.te)、Excel(*.xlsx)、Txt(*.txt)三种格式。
- 【重新检查】:若用户对拓扑错误进行处理后,重新检查,可重新检查拓扑错误。
- 【列表项】
- 【拓扑规则】:检查的拓扑规则。点击后,高亮显示拓扑错误的部分。比如区不能重叠,点击后,高亮显示区重叠的部分。
- 【图层A】:图层A的数据名称,即目标图层。点击后,高亮显示拓扑错误的部分。
- 【图层B】:图层B的数据名称,即参考图层。点击后,高亮显示拓扑错误的部分。
- 【要素1(ID)】:产生拓扑错误的第一个要素的OID。点击后,高亮显示产生拓扑错误的要素1的图元。
- 【要素2(ID)】:产生拓扑错误的第二个要素的OID。点击后,高亮显示产生拓扑错误的要素2的图元。
- 【形状】: 拓扑错误的结果形态,分别为点、线、区。
提示:
拓扑处理支持撤销回退的操作。拓扑处理完成之后,若不满意处理结果,可进行撤销操作,可恢复到处理之前的图元。撤销之后,也可执行回退,恢复拓扑处理的操作。
# 拓扑检查规则和拓扑处理详情
空间数据在采集或绘制编辑的过程中,会不可避免地出现一些错误。而这些拓扑错误通常量很大,也很隐蔽,不容易被识别出来。例如,区数据在采集或者绘制的过程中产生重叠、狭缝,或者圈不封闭的情况,导致这些数据的空间关系与实际地物存在差异,影响后面的数据分析和统计等工作。因此,需要使用拓扑检查来找到这些错误,然后使用拓扑处理来修复和解决这些错误。
MapGIS 10提供了丰富而高效的拓扑检查规则和处理方法,既能够支持单图层的拓扑检查,同时也可以支持两个图层之间的拓扑关系检查,同时针对每种规则检查出来的拓扑错误,也提供专用的拓扑错误处理方法。
下面会分别介绍针对区、线和点数据的拓扑规则和拓扑处理。
一、区数据规则和拓扑处理
以下规则适用于区数据图层
作用数据 | 拓扑规则 | 结果形态 | 规则描述 | 拓扑处理 | 原始数据图示 | 拓扑错误图示 |
---|---|---|---|---|---|---|
区图层 | 默认 | 默认检查规则:必须为单部分(区)、圈必须封闭(区)、圈必须有足够的坐标点(区)、洞必须在壳内(区)、洞必须与洞分离(区)、必须没有狭长区(区)、必须不能自相交(区)、边线上不能有重复点(区) | 根据各规则的处理规则进行处理 | |||
区图层 | 不能为多区 | 区 | 区不能为多区 | 拆分:将多区打散为多个单区,面积最大的区继承原多区oid,其他的区作为新要素添加到简单要素类中。 打散后的区属性都继承原始区,且更新系统默认字段 | ||
区图层 | 圈必须封闭 | 线 | 区的每一圈都必须首尾点相同 | 封闭圈:将首点坐标赋给尾点,可能会导致区发生形变 | ||
区图层 | 每一圈不能少于4个点 | 线 | 区的每一圈的点个数不能小于4 | 删除: 1)外圈点数小于4,直接删除该区 2)内圈点数小于4,删除该内圈 | ||
区图层 | 内圈必须在外圈内 | 区 | 区的每一个内圈都必须在外圈内部 | 删除:删除整个错误区 | ||
区图层 | 内圈必须与内圈分离 | 线 | 区的任意两个内圈必须分离 | 删除:删除整个错误区 | ||
区图层 | 不能有狭长区 | 线 | 区的每一圈都不能为狭小圈 | 删除:外圈为狭小圈,删除整个区;内圈为狭小区,删除该内圈 | ||
区图层 | 不能自相交 | 区 | 区自身不能与自身相交,不能有“8字区” | 删除:删除该区 | ||
区图层 | 不能有空隙 | 区 | 不能有空隙 | 创建:在原来的空白地方(拓扑错误的位置)生成一个新的区 | ||
区图层 | 不能相互重叠 | 区 | 区不能相互重叠,区可以是相互分离的或仅相接于一个点或一条边 | 合并:选择重叠部分跟其中哪一个区合并,并从另一个区中删除 剪除:将重叠区从原来的区中删除,即重合部分变为空白 创建:在重叠区位置建立新区,并同时从原区中删除这部分区 | ||
区图层 | 区边界上不能有重复点 | 点 | 每一个区的边线上除了首尾点之外,不能再有相同的点 | 去除重复点:删除重复的点 | ||
区图层 | 不能有碎小区 | 区 | 不能有面积小于阈值的区 | 删除:删除整个错误区 | ||
区区图层 | 必须被图层B的区覆盖 | 区 | 图层A中的区都应该被图层B中的区覆盖 | 剪除:将目标图层中未被覆盖的区(拓扑错误的位置)删除掉 创建:在目标图层或参考图层中创建新的元素(用于覆盖另一图层) | ||
区区图层 | 必须相互覆盖 | 区 | 图层A中的区与图层B中的区都应该互相覆盖 | 剪除:将目标图层或参考图层中未被覆盖的区(拓扑错误的位置)删除掉 创建:在目标图层或参考图层中创建新的元素(用于覆盖另一图层) | ||
区区图层 | 必须被图层B的单个区覆盖 | 区 | 图层A中的区必须被图层B中的单个区覆盖 | 创建:在参考图层中创建新的图元以覆盖目标图层拓扑错误的图元 | ||
区区图层 | 不能与图层B的区重叠 | 区 | 图层A中的区不能与图层B中的区重叠 | 合并:将重叠部分选择合并,并从另一个图元中删除该部分 剪除:删除两个图层之间的重叠的部分 | ||
区区图层 | 区边界必须被图层B的区边界覆盖 | 线 | 图层A中的区边界线必须被图层B的区边界覆盖 | 无 | ||
区线图层 | 区边界必须被线覆盖 | 线 | 图层A中的区边界线必须被图层B的线覆盖 | 创建:在线图层创建线 | ||
区点图层 | 至少包含一个点 | 区 | 图层A中的每个区至少包含一个图层B的点 | 无 | ||
区点图层 | 只包含一个点 | 区 | 图层A中的每个区中必须只包含图层B中的一个点 | 无 |
二、线数据规则和拓扑处理
以下规则适用于线数据图层
作用数据 | 拓扑规则 | 结果形态 | 规则描述 | 拓扑处理 | 原始数据图示 | 拓扑错误图示 |
---|---|---|---|---|---|---|
线图层 | 默认 | 默认检查规则:必须为单部分(线)、必须没有微短线(线)、不能自重叠(线)、不能自相交(线)、不能有重复点(线) | 根据各规则的处理规则进行拓扑处理 | |||
线图层 | 不能为多线 | 线 | 线不能为多线 | 拆分:将多线打散,长度最大的线继承原多线的oid,其他的线作为新要素添加到简单要素类中 | ||
线图层 | 不能有微短线 | 线 | 线的总长度不能小于阈值 | 删除: 1)线对应的oid为多线:删除有错误的线,但保留其他无拓扑错误的线 2)线对应的oid不为多线:删除该oid | ||
线图层 | 不能重叠 | 线 | 线不能与其他线相互重叠,线自身可以相连、相交和重叠 | 剪除:用户可交互设置剪除哪一个图元,剪除后剩下的线为多线 | ||
线图层 | 不能相交 | 点 | 线不能与其他线的任何部分相交或重叠 | 剪断线:由交点处将线剪断 | ||
线图层 | 不能有悬挂点 | 点 | 线的端点必须与其他线的端点相连 | 无 | ||
线图层 | 不能有伪节点 | 点 | 伪节点:节点所关联的折线有且仅有两条 | 无 | ||
线图层 | 不能自重叠 | 线 | 线不能自重叠 | 无 | ||
线图层 | 不能自相交 | 点 | 线不能与自身相交或重叠 | 剪断线:剪断自相交线,会将所有的交点剪断 | ||
线图层 | 不能有重复点 | 点 | 组成线的各个点(除了首尾点)不能有重复 | 去除重复点:删除重复的点 | ||
线区图层 | 必须被区边界覆盖 | 线 | 图层A中的线必须被图层B中的区边界覆盖 | 剪除:剪除错误的部分 | ||
线区图层 | 必须位于区内部 | 线 | 图层A中的线必须位于图层B区的内部或边界上 | 无 | ||
线线图层 | 必须被图层B的线覆盖 | 线 | 图层A中的线必须被图层B中的线覆盖 | 无 | ||
线线图层 | 不能与图层B的线重叠 | 线 | 图层A中的线不能与图层B中的任何部分重叠 | 剪除:选择线进行剪除 | ||
线线图层 | 不能与图层B的线相交 | 点 | 图层A中的线不能与图层B中的线的任何部分相交或重叠 | 剪断线:由交点处将线剪断 | ||
线点图层 | 线端点必须被点覆盖 | 点 | 图层A中的线端点必须被图层B中的点覆盖 | 创建(点):在点图层上创建与线端点对应的点图元 |
三、点数据规则和拓扑处理
以下规则适用于点数据图层
作用数据 | 拓扑规则 | 结果形态 | 规则描述 | 拓扑处理 | 原始数据图示 | 拓扑错误图示 |
---|---|---|---|---|---|---|
点图层 | 不能有多点 | 点 | 点不能为多点 | 拆分:拆分成多个点分别存储 | ||
点图层 | 不能有重复点 | 点 | 不能有重复点 | 无 | ||
点区图层 | 必须在区边界上 | 点 | 图层A中的点必须在图层B中的区边界上 | 无 | ||
点区图层 | 必须位于区内部 | 点 | 图层A中的点必须位于图层B中的区内部 | 删除:删除拓扑错误的点 | ||
点区图层 | 点必须位于区内,且区只包含一个点 | 点 | 图层A中的点必须位于图层B中的区内部,且该区只能包含一个点 | 删除:删除拓扑错误的点 | ||
点线图层 | 必须被线覆盖 | 点 | 图层A中的点必须被图层B中的线覆盖 | 无 | ||
点线图层 | 必须被线端点覆盖 | 点 | 图层A中的点必须被图层B中的线端点覆盖 | 删除:删除拓扑错误的点 | ||
点点图层 | 必须与图层B的点重合 | 点 | 图层A中的点必须与图层B中的点重合 | 无 |
# 不能为多区
规则说明
“不能为多区”:区不能为多区,即区不能包含多个部分。
在制图的过程中,当一个区包含多个部分时,会用组合区(即多区)的模式处理。如沿海城市行政区范围,不仅包含内陆区域,还有一些岛屿,可以通过组合区的模式将内陆和岛屿组成成一个区。此时内陆和岛屿已经变为一个区,只有一条属性记录。
当用户在特定需求下时,要求一个区图层内的所有区图元都不能为多区时,可以通过“不能为多区”规则,检查所有不符合要求的区,再对其进行处理。
处理方式
拆分:将组合区拆分为多个区,每一个区具有一条属性记录,但属性值是相同的(除MapGIS默认的mpArea、mpPerimeter字段)。
# 圈必须封闭
规则说明
“圈必须封闭”:区内部的每一个圈必须封闭,即每一圈的首尾点必须相同。任何情况下,区内部的每一个圈都必须封闭。一旦出现圈不封闭,代表此区为异常区。当区内部的圈不封闭时,后期的计算面积、叠加、裁剪等操作时,均可能发生错误。建议用户在任何情况下,都保证“圈必须封闭”。
每一个区图元都可以认为又一个或多个圈组成。对于带洞的区,由多个圈组成。如下图所示的区,由三圈组成,其中圈①为外圈,圈②和③为内圈。
在MapGIS中,要求区图元的每一个圈都必须封闭。以上图中的内圈③为例,图形为一个三角形,看似其由三个坐标点组成,实际上由四个点组成,第一个与第四个坐标点重复。
处理方式
封闭圈:自动将不封闭的圈处理为封闭圈。对于不封闭圈,当第一个坐标点和最后一个坐标点距离相交较远,在容差范围外时,为保证封闭圈后几何形态不会发生变化,自动在最后一个坐标点后再增加一个点,保证首尾点完全相同。当第一个坐标点和最后一个坐标点距离很近,在容差范围内时,为避免重复点,会自动将最后一个点移动到第一个坐标点位置,保证首尾点完全相同。
# 每一圈不能少于4个点
规则说明
在MapGIS中,为了保证区的首尾坐标一致性,在区的坐标序列中会增加一个尾点,坐标与首点相同。一个区至少需要有3个点构成,实际在MapGIS区图元的坐标序列中,有4个点,第四个点与第一个点坐标重复。如果区图元的每一圈少于4个点,则不构成区。
如果区中包含有多个圈,每个圈的坐标点数都不能少于4个。
处理方式
删除:删除整个区中错误的圈。
# 内圈必须在外圈内
规则说明
对于有多圈的区,如带洞区,通常范围较大的为外圈,被包含的范围较小的为内圈,如图a。内圈必须包含在外圈内,不能与外圈相交或相离,如图b、c。
在MapGIS中,多圈区的坐标序列会分为几个部分,第1部分为外圈,第2、3...部分为内圈。若由于数据制作或转换过程中的失误,导致外圈与内圈的坐标序列发生错位,即第1部分不是外圈坐标,而是内圈坐标,就可能出现内圈包含外圈的情况,如图d。
在绘制一些地物要素中,如:湖泊、河流中有突出的滩涂、岛屿,通常用带洞区的方式处理,将滩涂、岛屿范围从水系中剔除,并且必须检查内圈是否在外圈内。
处理方式
删除:删除错误区。
# 内圈必须与内圈分离
规则说明
对于有多圈的区,各个内圈之间不能相交、包含,每个内圈之间必须分离。在绘制一些地物要素中,如:湖泊、河流中有突出的滩涂、岛屿,通常用带洞区的方式处理,这些滩涂、岛屿范围为水系的内圈,它们之间不能有相交部分,或者有包含关系。
处理方式
删除:删除错误区。
# 不能有狭长区
规则说明
狭长区是指形状细长狭窄,面积非常小的区,在国土行业叫做狭缝。这种类型的区在土地管理中通常不能构成一个管理单元,往往是由于数据采集或数字化过程中的错误导致。
在MapGIS中,狭长区有明确的定义,满足一下两个条件之一即为狭长区:
(1)区的周长小于4倍容差。
(2)(区的面积S/容差)小于(0.5倍的周长-容差)。
容差为用户可设置的值,在拓扑检查对话框中可根据实际情况进行设置。
处理方式
删除:删除该狭长区。
融合到相邻面积最大的几何:将狭长区合并到相邻的面积最大的区中。
融合到相邻周长最长的几何:将狭长区合并到相邻的周长最长的区中。
# 不能自相交
规则说明
区自身不能与自身相交,不能有“8字区”。
处理方式
无。用户自行根据实际情况进行处理,可删除错误区,或使用【区上移点】工具,将坐标修改正确。
# 不能有空隙
规则说明
“不能有空隙”是指单一区图元之中或多个相邻相区之间没有空白,所有区图元组成一个连续表面。
此规则适用于必须完全覆盖某个区域的数据。例如,行政区划中不能包含空隙或具有空白,这个区域必须被代表为行政单元的区图元覆盖。
处理方式
创建:在原来的空白地方(拓扑错误的位置)生成一个新的区,自动填充此空白,新生成的区图元属性为空(除MapGIS默认的mpArea、mpPerimeter字段)。
# 不能相互重叠
规则说明
“不能相互重叠”是指区图元之间不能有相互叠置的部分,即区可以共享边或者节点,但某块区域不能属于两个或多个区图元。
此规则适用于相互排斥的地域分类,如行政区所属(一块土地不能即属于甲行政村又属于乙行政村)及土地覆盖类型(一块土地在地类图斑中不能即是水田又是旱地)。
处理方式
合并到要素1:重叠部分的区会合并到要素1,要素1即OID小的图元。表明要素2中该部分重叠区会被剪除,要素1中该部分重叠区保留,要素1保持不变。
合并到要素2:重叠部分的区会合并到要素2,要素2即OID大的图元。表明要素2中该部分重叠区会被剪除,要素2中该部分重叠区保留,要素2保持不变。
剪除:将重叠区从原来的区中删除,即重合部分变为空白;
创建:在重叠区位置建立新区,并同时从原区中删除这部分区,新生成的区图元属性为空(除MapGIS默认的mpArea、mpPerimeter字段)。
# 区边界上不能有重复点
规则说明
“区边界上不能有重复点”是指每一个区的边线上除了首尾节点之外,不能再有相同的节点。
不同软件数据转换过程中或MapGIS数据处理过程中,可能会导致区数据边界上产生重复点。而区边界上重复点的存在不仅可能会导致数据的冗余,而且也可能会导致后期分析功能的出错,建议进行处理。
处理方式
去除重复点:删除区边界上重复的点(首、尾重复节点除外)。
# 不能有碎小区
规则说明
“不能有碎小区”是指不能有面积小于阈值的区,即某个区图元面积小于设定的阈值时,即被标记为“碎小区”。
此规则适用于处理有很多碎小区图元的场景。如需合并不同来源的行政边界并拓扑造区的过程中,由于数据精度不同,表示同一行政边界的数据不完全重叠而相互交叉,在拓扑处理及造区过程中,在此行政边界邻接处产生许多碎小的区图元,则必须对这些碎小的区图元进行处理。
处理方式
删除:删除此碎小区;
融合到相邻面积最大的几何:系统自动判断,将此碎小区融合到与其邻接的最大面积的区图元上;
融合到相邻周长最长的几何:系统自动判断,将此碎小区融合到与其邻接的最大周长的区图元上;
提示:
对于与周边区图元不相接的最小区,处理方式选用“融合到相邻面积最大的几何”和“融合到相邻周长最长的几何”这两种方法MapGIS系统将不进行处理。
# 必须被图层B的区覆盖
规则说明
“必须被图层B的区覆盖”:图层A中的区都应该被图层B中的区覆盖。所有不符合规则的图层A的区会被罗列在“拓扑错误管理”列表中。
如下图所示的图层A和图层B。图层A包含五个区,图层B包含三个区。
叠加显示边界线效果如下图所示:
执行“必须被图层B的区覆盖”拓扑检查时,A3/A4/A5三个区不符合拓扑规则,会被罗列在“拓扑错误管理”列表中。A3/A4两个区部分超出图层B的范围,e区完全位于图层B范围外。A1/A2区完全包含在图层B的范围内。
如在土地利用中,国家会下发一个行政区控制界线区图层,这个图层限定了该行政区范围,其他图层不应该超出此图层的范围。用户通过矢量化等操作获得的地类图斑等区图层。可将地类图斑设置为“图层A”,行政区控制界线区设置为“图层B”,进行“必须被图层B的区覆盖”检查,当地类图斑 范围超出 行政区控制界线区 范围时,其地类图斑的区会被罗列在“拓扑错误管理”列表中,用户可对其进行处理。
处理方式
创建:当图层A的区超出图层B的区范围时,通过“创建”可在图层B中增加一个区,其范围刚好覆盖图层A的区范围;
剪除:当图层A的区超出图层B的区范围时,通过“剪除”可将图层A的区超出的部分删除掉。
# 必须相互覆盖
规则说明
“必须相互覆盖”:图层A中的区与图层B中的区都应该互相覆盖。所有不符合规则的图层A的区会被罗列在“拓扑错误管理”列表中。
如下图所示的图层A和图层B。图层A包含A1/A2/A3/A4四个区,图层B包含B1/B2/B3/B4包含四个区。
叠加显示边界线效果如下图所示:
执行“必须相互覆盖”拓扑检查时,A2/A4/B2/B3四个区不符合拓扑规则,会被罗列在“拓扑错误管理”列表中。A2/A4两个区部分超出图层B的范围,B2/B3两个区超出图层A的范围。
“必须相互覆盖”通常应用在两个区的范围一致情况下,如某行政区范围的宗地和地类图斑图层,两者都应该是全覆盖该行政区范围,可通过“必须相互覆盖”规则,检查两者范围不一致的的区。
处理方式
创建:当图层A的区超出图层B的区范围时,通过“创建”可在图层B中增加一个区,其范围刚好覆盖图层A的区范围;
剪除:当图层A的区超出图层B的区范围时,通过“剪除”可将图层A的区超出的部分删除掉。
# 必须被图层B的单个区覆盖
规则说明
"必须被图层B的单个区覆盖":图层A中的每一个区必须被图层B中的单个区覆盖。如果图层A的区没有被图层B覆盖,或者图层A的区没有被图层B的单个区覆盖,那么这些没有被覆盖的图层A的区都会产生拓扑错误。
如下图的图层A和图层B。图层A有4个区,分别是A1/A2/A3/A4。图层B有2个区,分别是B1/B2。
叠加显示边界线效果如下图所示:
执行“必须被图层B的单个区覆盖”,A1/A4不符合拓扑规则,会被罗列在“拓扑错误管理”列表中。A2和A3分别被B1和B2完全覆盖。A4没有被B图层覆盖,A1被B图层全部覆盖了,但没有被B1或者B2单独的完全覆盖。
实际应用中,用户可以用来检查县级行政区是否被市级行政区的单个区覆盖,图层A设为县级行政区,图层B设为市级行政区。当结果中出现了拓扑错误,用户可根据拓扑错误结果并结合实际情况来修改县级行政区或市级行政区。实际检查后,若发现问题存在于市级行政区,则用户可使用系统提供的处理方式,在“拓扑错误管理”右键“创建”功能,这样市级行政区会创建一个新的区,这个区可能会属于市级行政区的某个区的一部分,然后用户可使用"合并图元"功能将这个新创建的区融合到市级行政区已有的某个区数据中;若发现问题存在于县级行政区,并且县级行政区在其范围外有多余的区,则用户可以使用“移除”功能,删除县级行政区中没有被市级行政区覆盖的区,或者用户也可以选择重新绘制发生拓扑错误的县级行政区的区数据,使之能被市级行政区的单个区覆盖。
处理方式
创建:图层B中创建一个新的区,正好可以覆盖图层A中拓扑错误的区。新创建的图层B的区,除了MapGIS默认属性字段,其他属性字段值都为空值。比如上述示例中,A1和A4没有被图层B的单个区覆盖,那么点击创建后,会在图层B中创建两个新的区,这两个新创建的区正好会覆盖图层A的A1和A4。
# 不能与图层B的区重叠
规则说明
"不能与图层B的区重叠":图层A中的区不能与图层B中的区重叠,两个图层产生重叠的区数据会产生拓扑错误,这些拓扑错误会被列在“拓扑错误列表”。该规则只检测两个图层的区之间是否有重叠,不检测单个图层的区之间是否存在重叠,比如图层A里面的重叠或者图层B里面的重叠,都不会被检测出来。
如下图的图层A和图层B。图层A有3个区,分别是A1/A2/A3。图层B有2个区,分别是B1/B2。
叠加显示边界线效果如下图所示:
执行“不能与图层B的区覆盖”,A1/A3与B2重叠,不符合此拓扑规则,其重叠部分的区会被罗列在“拓扑错误管理”列表中。“拓扑错误列表”中会展示拓扑规则名称、图层A、图层B、要素1和要素2。图层A和图层B信息会显示图层的名称,要素1显示图层A中重叠的区的OID,要素2显示图层B中重叠的区的OID。
在实际应用中,湖泊图层和林地图层是不可能发生重叠的。用户可使用规则“不能与图层B的区覆盖”来检测湖泊和林地这两个图层的拓扑正确性,图层A设为湖泊,图层B设为林地。当检查结果有拓扑错误产生,用户可以根据实际地类情况选择系统提供的三个拓扑处理方式。若重叠部分属于湖泊,用户可选择“合并到要素1”进行处理,重叠部分会被合并到湖泊中,林地中的重叠部分会被剪除掉;若重叠部分属于林地,用户可以选择“合并到要素2”进行处理,重叠部分会被合并到林地中,湖泊中的重叠部分会被剪除掉;若重叠部分既不属于湖泊也不属于林地,那么用户可以选择“剪除”,重叠部分会从湖泊和林地中都剪除掉。当拓扑处理有多种方式时,用户选择拓扑处理方式需要符合实际,如果用户发现拓扑处理结果与其预期不符,用户可以点击“撤销”,系统会撤销本次拓扑处理。
处理方式
合并到要素1:重叠部分的区会合并到要素1,要素1即图层A中重叠的区。表明图层B中该部分重叠区会被剪除,图层A中该部分重叠区保留,图层A保持不变。
合并到要素2:重叠部分的区会合并到要素2,要素2即图层B中重叠的区。表明图层A中该部分重叠区会被剪除,图层B中该部分重叠区保留,图层B保持不变。
剪除:将重叠部分的区从图层A和图层B中都剪除掉。
# 区边界必须被图层B的区边界覆盖
规则说明
"区边界必须被图层B的区边界覆盖":图层A的区边界线被图层B的区边界线覆盖。若图层A的区边界线没有被图层B全部覆盖,那么没有被图层B覆盖的那部分图层A的边界线产生拓扑错误,结果会以线的方式列在“拓扑错误管理”列表中。
如下图的图层A和图层B。图层A有3个区,分别是A1/A2/A3。图层B有2个区,分别是B1/B2。
叠加显示边界线效果如下图所示:
执行“区边界必须被图层B的区边界覆盖”,A1/A2/A3都有区边界没有被图层B的区边界覆盖,不符合此拓扑规则,上图中的1、2、3部分的区边界线会作为拓扑错误被罗列在“拓扑错误管理”列表中。请注意,第2部分的边界线是A1和A2的公共边界,所以拓扑错误列表中会有两个第2部分的错误,拓扑错误列表中的“要素1”会显示其分别来自于A1和A2两个区。
在土地利用调查中,行政区的边界是完全被地类图斑的边界覆盖的。用户可将图层A设为行政区,图层B设为地类图斑,选择规则“区边界必须被图层B的区边界覆盖”,执行检查,拓扑错误结果会被列在“拓扑错误管理”窗口中。
处理方式
在“拓扑错误管理”中,没有针对规则“区边界必须被图层B的区边界覆盖”提供拓扑处理方法。用户可根据实际情况来确定修改图层A或者图层B。根据实际检查,若图层A存在问题,用户可以选择使用“删除”功能,删除部分图层A的区数据;若图层B存在问题,用户可以选择重新绘制图层B中的相关数据。
# 区边界必须被线覆盖
规则说明
"区边界必须被线覆盖":图层A的区边界线被图层B的线覆盖。若图层A的区边界线没有被图层B的线覆盖,那么没有被覆盖的图层A的边界线产生拓扑错误,结果会以线的方式列在“拓扑错误管理”列表中。
如下图所示,图层A是区数据,有4个区,图层B是线数据,有3条线。
叠加显示效果如下图所示:
执行“区边界必须被线覆盖”,有7条拓扑错误数据产生。图层B覆盖了一些图层A的区边界,未能被B覆盖的图层A的边界产生拓扑错误。叠加显示效果图中的数字代表了产生的拓扑错误。数字6和7是A1和A2两个区的公共边界线,因为这两个边界线都没有被图层B的线数据覆盖,所以会产生两条拓扑错误。
实际应用中,比如行政区的边界是被行政区界线完全覆盖的。用户可使用规则“区边界必须被线覆盖”,图层A设置为行政区,图层B设置为行政区界线,执行检查后,拓扑错误结果会被列在“拓扑错误管理”窗口中。
处理方式
创建:图层B中会创建一个新的线,这条新创建的线数据正好可以覆盖图层A中出现拓扑错误的区边界处。新创建的图层B的线,除了MapGIS默认字段有值,其他属性字段值都为空。
除了使用系统提供的“创建”的拓扑处理方式,若实际情况中,图层B是正确的,图层A存在问题,那么用户可以使用“删除”功能,删除图层A的某些区,或者重新绘制图层A的错误区。
# 至少包含一个点
规则说明
"至少包含一个点":图层A的区至少会包含一个图层B中的点。图层A的区可以包含多个图层B中的点。若图层A的区内部没有包含图层B的点,而是图层A的区边界上或者区外部存在图层B的点,则图层A的区会产生拓扑错误,结果会以区的方式列在“拓扑错误管理”列表中。
如下图中,图层A有4个区,分别是A1/A2/A3/A4,图层B有5个点,其中蓝色的三个点是组合点。
叠加显示效果如下图所示:
执行“至少包含一个点”,会产生一条拓扑错误数据。图层A中,A1/A2/A3的区内部都包含点,A4边界上包含点,其他点都在A4外面,根据拓扑规则,A4这个区会产生拓扑错误。
处理方式
在“拓扑错误管理”中,没有针对规则“至少包含一个点”提供拓扑处理方法。根据实际情况,若发现图层A存在问题,用户可以使用“删除”功能,删除图层A的区数据;若图层B存在问题,用户可以在图层B绘制新的点数据。
# 只包含一个点
规则说明
"只包含一个点":图层A的区只能包含一个图层B中的点。若图层A的区内部不包含图层B的点,图层A的区会产生拓扑错误;若图层A的区边界上包含图层B的点,图层A的区会产生拓扑错误;若图层A的区内部有多个图层B的点,则图层A的区会产生拓扑错误。结果会以区的方式列在“拓扑错误管理”列表中。
如下图中,图层A有4个区,图层B有4个点,其中蓝色的三个点是组合点。
叠加显示效果如下图所示:
执行“只包含一个点”, 产生3个拓扑错误数据。图层A中只有A3包含图层B的一个点,A1和A2都包含两个点,A4边界上包含一个点,所以A1、A2和A4会产生拓扑错误。含有组合点的拓扑检查,在检查的过程中,图层B的组合点会被打散成单个点来进行分析,检查结束后原始图层B的组合点是不会改变的。
处理方式
在“拓扑错误管理”中,没有针对规则“只包含一个点”提供拓扑处理方法。通过实际检查,若图层A存在问题,用户可以使用“删除”功能,删除图层A的区数据;若图层B存在问题,用户可以在图层B绘制一个新的点数据或者删除图层B中多余的点数据。
# 不能为多线
规则说明
“不能为多线”:线不能为多线,即线不能包含多个部分。
在制图的过程中,当一条线包含多个部分时,会用组合线(即多线)的模式处理。如一些河流会有其分支,可以通过组合线的模式将干流和支流组成为一条线。此时干流和支流已经变为一条线,只有一条属性记录。
当用户在特定需求下时,要求一个线图层内的所有线图元都不能为多线时,可以通过“不能为多线”规则,检查所有不符合要求的线,再对其进行处理。
处理方式
拆分:将组合线(多线)拆分为多条线,每条线具有一条属性记录,但属性值是相同的(除MapGIS默认的mpLayer、mpLength字段)。
# 不能有微短线
规则说明
“不能有微短线”:线图层内不允许存在线长度小于规定阈值的线。
在制图的过程中,常常有微短线,即线长度小于规定阈值的线存在,比如河流有细小的支流、道路有细小的分支等。当用户在特定需求下,要求一个线图层内不允许有微短线存在时,可以通过“不能有微短线”规则,检查所有不符合要求的线,再对其进行处理。
处理方式
在拓扑错误管理列表中,可以在微短线错误信息上右键,清除微短线。
在清除微短线时,当线对应的OID为多线时,会删除有错误的线,但保留其他无拓扑错误的线;当线对应的OID不为多线时,删除该OID。
# 不能重叠
规则说明
“不能重叠”:线不能与同一简单要素类中除自身外其他线任何一部分重叠。
如图所示:线①与线②重叠;线③与线④相交,不是重叠;线⑤自重叠,不是重叠。
提示:
有一种特殊情况,当线是多线时,多线的各部分重叠也属于重叠,如图所示:
此线为多线,其A部分和B部分重叠,属于重叠。
在制图的过程中,常常会出现重复绘制等情况,导致有重叠线的存在,当用户在特定需求下,要求一个线图层内不允许有重叠线存在时,可以通过“不能重叠”规则,检查所有不符合要求的线,再对其进行处理。
处理方式
在拓扑错误管理列表中,可以在重叠线错误信息上右键,剪断要素,被剪断的线成为多线。
# 不能相交
规则说明
“不能相交”:线不能与同一简单要素类中除自身外其他线任何一部分重叠或相交。
如图所示:线①与线②相交;线③与线④重叠且相交,属于相交;线⑤自重叠且自相交,不属于相交;线⑥和线⑦不构成相交。
提示:
有一种特殊情况,当线是多线时,多线的各部分重叠或相交也属于相交,如图所示:
此线为多线,其A部分和B部分重叠且相交,属于相交。
在制图的过程中,常常有相交线存在,当用户在特定需求下,要求一个线图层内不允许有相交线存在时,可以通过“不能相交”规则,检查所有不符合要求的线,再对其进行处理。
处理方式
在拓扑错误管理列表中,可以在重叠线错误信息上右键,剪断线,被剪断的线作为新的线图元新增到简单要素类中。
# 不能有悬挂点
规则说明
“不能有悬挂点”:线的端点必须与其他线的端点相连,线的端点没有与其他线的端点相连,称为悬挂点。悬挂点所在的线段称为悬挂弧段。
如图1所示:线①的两个端点A、B未与其他线的端点相连,称A、B为悬挂点、称线段AB为悬挂弧段。
如图2所示:线①的A端点、线③的B端点,分别与线②的A、B端点相连,而C、D未与其他线段的任何端点相连。称C、D为悬挂点、线段AC、BD为悬挂弧段。
如图3所示:C既是线①的拐点也是线②的端点,此时称A、B、C、D为悬挂点、线段ACB、CD为悬挂弧段。
如图4所示:B既是线①的线上点也是线②的端点,此时称A、B、C、D为悬挂点、线段ABC、BD为悬挂弧段。
在制图的过程中,常常有悬挂点的存在,当用户在特定需求下,要求一个线图层内不允许有悬挂点存在时,可以通过“不能有悬挂点”规则,检查所有不符合要求的线,再对其进行处理。
处理方式
在拓扑错误管理列表中, 没有提供悬挂点的处理方法。用户可以通过线上移点等方法对悬挂点进行处理,让线的端点与其他线的端点相连。
# 不能有伪节点
(区) 规则说明
伪节点:结点所关联的折线有且仅有两条。线图层中的线图元之间,当存在两条线的端点相连时,此位置属于伪节点。
如下图所示,图中有五条线,每一条线用一种颜色表示。其中线①和③连接处属于伪节点。线①和②连接位置,是线②的端点与线①的拐点相连,不属于伪节点。线③④⑤连接位置,由于有三条线的端点相连,也不属于伪节点。
“不能有伪节点”:线图层内不存在伪节点。伪节点一般情况下不影响后期的分析,用户可不对其进行处理。如绘制的线最终是要拓扑成区,伪节点不会对其造成任何影响。
但在特定需求下,用户可检查伪节点并对其进行处理。如道路线,由于前期是通过图幅分幅进行采集操作,一些很长的道路线会被划分为多条线。这个时候会有两个弊端,一个是多条线就会有多条属性记录,会增加数据量;二是在地图绘制过程中,由于是多条线,对动态注记的标注会产生一定影响。
处理方式
在“拓扑错误管理”中,没有提供伪节点的处理方法。用户可通过“连接线”功能对其进行处理。
# 不能自重叠
(线) 规则说明
自重叠:同一个线要素中,自身存在重叠现象。
如下图所示,为一个线要素,该线要素绘制顺序为:1-2-3-4-5,则线段2-3,3-4部分为自重叠部分。
# 不能自相交
(线) 规则说明
自相交:同一个线要素中,不可与该要素本身有相交点。
提示:
组合线有交点,即两个或者多个线组成一个线要素,当这多个线有交点时,不属于自相交情况。
如下图所示为一个线要素,绘制顺序为1-2-3-4-5,该线要素在节点2处,出现自相交现象。
处理方式
在“拓扑错误管理”中,已提供“剪断线”处理,将出现自相交错误的线按照相交点剪断为若干线要素,上图所示示例中,线要素将被剪断为1-2,2-3-4,2-5三个线要素。
# 不能有重复点
(线)规则说明
重复点:在一个线要素中,点与点不可以重复,首尾端点重复除外。
如下图所示:该图为一个线要素,绘制顺序为1-2-3-4-5,其中拐点3和拐点4重合了,这种情况被称为重复点。但是点1和点5属于首尾端点,不是重复点。重复点在实际地图数据中,会导致同一个点有多个属性,还会导致数据量的增加。建议处理。
处理方式
在“拓扑错误管理”中,已提供“去除重复点”处理。处理后,会去掉重复点处的一个点,保障线要素中,无重复点错误。上图情况中,点3和点4,去除重复点后,会保留一个点作为线要素的拐点,而删掉另一个与之重复的点。
# 必须被区边界覆盖
(线区)规则说明
一个线元素必须与区元素的边界重合。
如下图所示:
线元素1,与区元素边界重合,属于“线必须被区边界覆盖”。
线元素2,与区元素边界有交点,但是并没有覆盖,则不属于“线必须被区边界覆盖”。
线元素3,完全被包含在区要素内,则不属于“线必须被区边界覆盖”。
线元素4,有一部分与区元素边界重合,但是另一部分不在区元素边界上,则不属于“线必须被区边界覆盖”。
线元素5,与区元素处于相离的关系,则不属于“线必须被区边界覆盖”。
线元素6,全部与区元素边界重合,即使没有覆盖到完整的区元素边界,则属于“线必须被区边界覆盖”。
线元素7,与区元素形成相交关系,则不属于“线必须被区边界覆盖”。
在实际数据处理过程中,例如省区图层和省边界线图层,省边界线必须与省区的边界覆盖,否则即为错误数据。
处理方式:
在“拓扑错误管理”中,已提供“去除线”处理,去除不符合“线必须与区边界重合”规则的线。
# 必须位于区内部
规则说明
“(线区)必须位于区内部”:图层A中的线必须位于图层B区的内部或边界上。所有不符合规则的图层A的线会被罗列在“拓扑错误管理”列表中。
如下图所示的图层A和图层B。图层A包含五条线,图层B包含二个区。
图层A 图层B
图层A与图层B叠加显示
执行“(线区)必须位于区内部”拓扑检查时,3、4、5三条线不符合拓扑规则,会被罗列在“拓扑错误管理”列表中。1、2两条线位于图层B区的内部或边界上。
如在土地利用中,国家会下发一个行政区控制界线区图层,这个图层限定了该行政区范围,其他图层不应该超出此图层的范围。用户通过矢量化等操作获得的线状地物等线图层。可将线状地物设置为“图层A”,行政区控制界线区设置为“图层B”,进行“(线区)必须位于区内部”检查,当线状地物范围超出行政区控制界线区范围时,其线状地物的线会被罗列在“拓扑错误管理”列表中,用户可对其进行处理。
处理方式
在“拓扑错误管理”中,没有提供此结果处理方法。用户可以删除完全超出部分线或者通过剪断线功能,将A图层中超出的部分剪断,再进行删除。
# 必须被图层B的线覆盖
规则说明
“必须被图层B的线覆盖”:图层A中的线都应该被图层B中的线覆盖。所有不符合规则的图层A的线会被罗列在“拓扑错误管理”列表中。
如下图所示的图层A和图层B。图层A包含四条线,图层B包含三条线。
- A图层1与B图层5部分覆盖,A图层1比B图层5的线长;
- A图层2号线在B图层中没有;
- A图层3与B图层6部分覆盖,A图层3比B图层6的线短;
- A图层4与B图层7完全覆盖
图层A 图层B
图层A与图层B叠加显示
执行“必须被图层B的线覆盖”拓扑检查时,图层A中的2号与1号部分线状地物不符合拓扑规则,会被罗列在“拓扑错误管理”列表中(如上图中红色显示部分)。图层A中的1号部分线状地物以及3、4号全部线状地物被图层B中的线状地物覆盖。
如在市政规划中,在道路上需要规划公交车线路,这时候道路是必须与公交车线路重合的,即被公交线路数据完全覆盖。如上图所示:可将道路数据设置为“图层A”,公交线路数据设置为“图层B”,进行“必须被图层B的线覆盖”检查,当图层A线状地物没有被图层B覆盖时,其线状地物会被罗列在“拓扑错误管理”列表中,用户可对其进行处理。
处理方式
在“拓扑错误管理”中,没有提供此结果处理方法。
- 用户可以将A图层中未被覆盖的线状地物通过拷贝粘贴功能复制到B线中,其范围刚好覆盖图层A的线;
- 当图层A的线超出图层B的线时,通过剪断线功能,将A超出部分剪断,再进行删除。
# 不能与图层B的线重叠
规则说明
"不能与图层B的线重叠":图层A中的线不能与图层B中的线重叠,两个图层产生重叠的线数据会产生拓扑错误,这些拓扑错误会被列在“拓扑错误列表”。该规则只检测两个图层的线之间是否有重叠,不检测单个图层的线之间是否存在重叠,比如图层A里面的重叠或者图层B里面的重叠,都不会被检测出来。
如下图的图层A和图层B。图层A有2条线,分别是1/2。图层B有1条线3。
图层A 图层B
图层A与图层B叠加显示
执行“不能与图层B的线重叠”,2与3重叠,不符合此拓扑规则,其重叠部分的线会被罗列在“拓扑错误管理”列表中。“拓扑错误列表”中会展示拓扑规则名称、图层A、图层B、要素1和要素2。
在实际应用中,公路和河流图层是不可能发生重叠的。用户可使用规则“不能与图层B的线重叠”来检测公路和河流这两个图层的拓扑正确性,图层A设为公路,图层B设为河流。当检查结果有拓扑错误产生,用户可以选择对拓扑错误进行处理,如发现拓扑处理结果与其预期不符,用户可以点击“撤销”,系统会撤销本次拓扑处理。
处理方式
在“拓扑错误管理”中,提供此结果处理方法。
- 剪除要素1:要素1即图层A中重叠的线。表明图层B中该部分重叠线保留。
- 剪除要素2:要素2即图层B中重叠的线。表明图层A中该部分重叠线保留。
# 不能与图层B的线相交
规则说明
"不能与图层B的线相交":图层A中的线不能与图层B中的任何部分相交或重叠,两个图层产生相交的线数据会产生拓扑错误,这些拓扑错误会被列在“拓扑错误列表”。A端点与线B相交满足规则的。另外,该规则只检测两个图层的线之间是否有相交,不检测单个图层的线之间是否存在相交,比如图层A里面的相交或者图层B里面的相交,都不会被检测出来。
如下图的图层A和图层B。图层A有2条线,分别是1/2。图层B有1条线3。
图层A 图层B
图层A与图层B叠加显示
如在地方权属归属问题,一条公路穿越了3个不同的村庄,即这条公路与3个村权属界线完全相交,可以通过此拓扑规则将拓扑错误列在“拓扑错误列表”。用户可对其进行处理,即两个图层中的所有线对象必须相互分离。
处理方式
在“拓扑错误管理”中,提供此结果处理方法。“剪断线”,可将两个线图层中的所有相交的线进行剪断(如上图A、B叠加显示)。线重叠的部分也可以通过“不能与图层B重叠”来检查处理。
# 线端点必须被点覆盖
规则说明
“线端点必须被点覆盖”:即图层A中线的两端必须被点图层B中的点覆盖。
在制图的过程中,一条线的端点需要标记时,就必须用点覆盖线端点。如桥梁的两端必须有桥头点,这个桥头就必须在桥的两端。
当用户在特定需求下时,要求一条线必须被点覆盖时,可以通过“线端点必须被点覆盖”规则,检查所有不符合要求的线和的点,再对其进行处理。
如下图所示:图层A有3条线,线1上有3个点,线1外有1个点;线2上没有人任何点;线3中间有1个点。
在执行“线端点必须被点覆盖”拓扑检查时,线2和线3会被检查出错误(3条错误),因为线2和线3两端没有被点覆盖;其中线2和线3共用一个端点,此时只需要创建1个点就可以满足条件。
处理方式
创建:在线的两端创建新的端点,确保线的端点必须有点覆盖
# 不能有多点
规则说明
“不能有多点”:点图层不能有多点,即点不能包含多个部分。
在制图的过程中,当一个点包含多个部分时,会用组合点(即多点)的模式处理。如组合点是由多个点组合而成,只有一条属性记录。
当用户在特定需求下时,要求一个点图层内的所有点图元都不能有多点时,可以通过“不能有多点”规则,检查所有不符合要求的点,再对其进行处理。
处理方式
拆分:将组合点拆分为多个点,每一个点具有一条属性记录,但属性值是相同的。
# 不能有重复点
规则说明
“不能有重复点”:点图层中不能有重复点,即一个坐标位置不能有2个或多个点。
当用户在特定需求下时,要求一个点图层内的所有点图元都不能有重复点时,可以通过“不能有重复点”规则,检查所有不符合要求的点,再对其进行处理。
处理方式
在“拓扑错误管理”中,没有提供重复点的处理方法。用户可通过通用编辑菜单中的“删除”功能对其进行处理。当用户确定需要对整个点图层中的所有重复点进行处理时,建议用点编辑菜单中的“清除重复点”功能进行批量处理,可以将所有的重复点删除。
# 必须在区边界上
规则说明
“点必须在区边界上”:图层A中的点必须在图层B中的区边界上。
在制图过程中,特定场景下,点只能在特定区域的边界上出现,可以应用此规则。如界址点必须在行政区边界上,此时就可以通过“点必须在区边界上”规则,检查所有不符合要求的点,再对其进行处理。
如下图所示:图层A有6个点;图层B有3个区,区1区2区3相邻
在执行“点必须在区边界上”拓扑检查时,蓝色的点会被检查出拓扑错误显示在错误列表中,其中点3在区外,点2在区内部,均不符合规则约束。
处理方式
在“拓扑错误管理”中,没有提供点必须在区边界上的处理方法。用户可通过通用编辑菜单中的“删除”功能对其进行处理,删除不符合要求的点;或者通过通用编辑菜单中的“移动”功能将点移动到区边界上。
# 必须位于区内部
规则说明
“点必须在区内部”:图层A中的点必须位于图层B中的区内部。
在制图过程中,有些点和区图层之间的位置是有明确要求的。如县市级政府点必须在省行政区划范围内部,一个省内可以有多个县市级政府点。此时就可以通过“点必须在区内部”规则,检查所有不符合要求的点,再对其进行处理。
如下图所示:图层A有6个点(点1-6);图层B有3个区,区B1 /B2/B3相邻。
在执行“点必须位于区内部”拓扑检查时,蓝色的点会被检查出拓扑错误显示在错误列表中,其中点5在区外,点3和点6在区边界上,均不复合规则约束。
处理方式
删除:直接利用“拓扑错误管理”中的删除功能将不符合的点删除。
# 点必须位于区内,且区只包含一个点
规则说明
“点必须在区内部,且区只包含一个点”:图层A中的点必须有且只有一个位于图层B中的区内部。
在制图过程中,有些点和区图层之间的位置是有明确要求的。如省会城市点必须在省行政区划范围内部,且一个行政区内部只有一个省会城市点。此时就可以通过“点必须位于区内,且区只包含一个点”规则,检查所有不符合要求的点,再对其进行处理。
如下图所示:图层A有6个点(点1-6);图层B有3个区,区B1/B2/B3相邻。
在执行“点必须位于区内部”拓扑检查时,蓝色的点会被检查出拓扑错误显示在错误列表中,其中点5在区外,点3和点6在区边界上,区B2中包含点1、点2,均不符合规则约束。点4在区B1内,且区B1中只仅包含点4一个点,故点4符合拓扑规则。
处理方式
删除:直接利用“拓扑错误管理”中的删除功能将不符合的点删除。
# 必须被线覆盖
规则说明
“必须被线覆盖”:图层A中的点必须被图层B中的线覆盖。当图层A的点不在图层B的线段上时,会被罗列在“拓扑错误管理”列表中。
如下图所示,图层A包含6个点,图层B包含5条线。
执行“必须被线覆盖”拓扑检查时,点3会被罗列在“拓扑错误管理”列表中。点2在线段2的端点、点5在线段1和线段3的交点、点1在线段1和线段4的交点、点4在线段1和线段5交点、点6在线段2上,都被图层B的线段覆盖,符合拓扑规则。
处理方式
在“拓扑错误管理”中,没有提供“必须被线覆盖”规则的处理方法。用户可通过“移动”功能,将图层A的点移动到图层B的线上;也可通过“删除”功能,删除图层A中的点。
# 必须被线端点覆盖
规则说明
“必须被线端点覆盖”:图层A中的点必须被图层B中的线端点覆盖。当图层A的点不在图层B的线端点上时,会被罗列在“拓扑错误管理”列表中。
如下图所示,图层A包含6个点,图层B包含5条线。
执行“必须被线端点覆盖”拓扑检查时,点3/5/6会被罗列在“拓扑错误管理”列表中。点1在线段4的端点、点2在线段2的端点、点4在线段5的端点上,均符合拓扑规则
处理方式
在“拓扑错误管理”中,没有提供“必须被线端点覆盖”规则的处理方法。用户可通过“移动”功能,将图层A的点移动到图层B的线端点上;也可通过“删除”功能,删除图层A中的点。
# 必须与图层B的点重合
规则说明
“必须与图层B的点重合”:图层A中的点必须与图层B中的点重合,当图层A中的点所在坐标没有图层B的点时,会被罗列在“拓扑错误管理”列表中。
如下图所示,图层A为草绿色的正方形,图层B为品红色的三角形。
执行“必须与图层B的点重合”拓扑检查时,点2会被罗列在“拓扑错误管理”列表中。点1/3/5位置,图层A与图层B的点重合,符合拓扑规则;点4位置,图层A没有点,所以不会进行检查。
处理方式
在“拓扑错误管理”中,没有提供“必须与图层B的点重合”规则的处理方法。用户可通过“输入编辑”功能,为图层B在同位置创建一个点;也可通过“删除”功能,删除图层A中的点。