作者:超图研究院技术支持中心-于丁
SuperMap iDesktop识别邻接面提取公共边获取属性并标注名称
大家平常在GIS业务中时长会遇到一种面对象关系“邻接”,现有GIS平台元件对相邻面或者邻接面的处理,通常只能做到判断其拓扑关系,即判断面与面直接是否邻接,但是对公共边的获取,以及获取所有邻接面的邻接关系比较乏力。
在此情况下,开展一些地类图斑标识、土权宗地相邻关系、建筑设施区域接壤等情况的标注完全依靠人工肉眼解译标识,十分费时费力。
因此,对于这种情况,本文提供了一个技术方案供大家参考。
一、使用工具
SuperMap iDesktop 10i(2021)V10.2.1及以上版本。(以下简称iDesktop)
二、数据准备
具有邻接面对象的面数据集一份(已进行拓扑检查、拓扑处理)
三、识别邻接面与提取公共边获取属性
1.将面对象转为线对象,得到面对象闭合线框
数据-数据处理-类型转换-面转线
2.将得到的线数据集添加到新地图中并开启该图层编辑。
3.全选所有对象(框选或Ctrl+A),右键合并以移除重叠重复的线框
4.将合并后的线数据集,线转点,得到面对象的边的顶点
数据-数据处理-类型转换-线转点
5.面的线框+面的边端点构建网络数据集,将面线框打断得到面的边
交通分析-拓扑构网-构建二维网络
在这里插入图片描述
6.将网络数据集右键添加到当前地图,查看网络数据集的弧段与结点打断是否正确
7.将网络转线,得到打断后的面对象边线段
数据-数据处理-类型转换-网络转线
8.对线数据集新建两个文本型字段“邻接面1”、“邻接面2”来存放邻接信息
9.在面数据也建立同名的两个文本型字段“邻接面1”、“邻接面2”
10.在面数据集属性表中,对“邻接面1”、“邻接面2”两个字段赋予相同的表示字段。
(该方案使用的是name,多边形名称,赋予方法可以使用更新列或者手动复制)
11.以面对象的“邻接面1”字段提供属性,对“邻接面_边段”线数据集进行【最小SMID】属性更新。
12.以面对象的“邻接面2”字段提供属性,对“邻接面_边段”线数据集进行【最大SMID】属性更新。
13.于“邻接面_边段”属性表中查看提取的邻接关系结果
四、邻接名称属性标注 {#三邻接名称属性标注 .list-paragraph}
1.将“邻接面对象”面数据集添加到新地图
2.在“邻接面对象@邻接面”图层右键制作专题图-标签专题图-统一风格
3.选择name字段,以表达面对象名称
4.将“邻接面_边段”线数据集添加到当前地图,并在该图层右键制作专题图-标签专题图-统一风格
5.使用“邻接面1”字段,并设置文本为红色以便区分查看
6.在边线图层再次右键制作专题图-标签专题图-统一风格
7.使用“邻接面2”字段,并设置文本为绿色,对齐右下角以便区分查看
8.在地图-属性-地图属性面板中,勾选显示压盖对象以增强显示
若对本文内容有疑问或讨论可在本文下方留言。