首页 / 浏览问题 / 桌面GIS / 问题详情
去重前实现编号和 去重后编号和 2个数据叠加的融合
16EXP 2023年04月27日

使用产品:supermapidesktop 10i 操作系统:win10 x64
数据类型: oracle 11g x64
问题详细描述:1.去重前实现编号2. 去重后编号  、3. 2个数据叠加的融合
问题重现步骤:想在supermapidesktop 10i桌面端实现如下图片中智能客服说的 其中遇到了3个问题 1.去重前实现编号2. 去重后编号  、3.   2个数据叠加的融合

问题关闭原因: 已解决

1个回答

您好,可以不用对数据进行编号。有以下两种方法

一、通过叠加分析

1、通过拓扑检查直接检查出重叠面

2、通过【叠加分析】中的【擦除】将重叠面擦除。

3、通过【合并】功能直接第1步生成的重叠面和第2步生成的不包含重叠面的数据合并即可。功能入口:空间分析选项卡->矢量分析->叠加分析->合并

二、直接使用插件

下载查询重叠点线面的数据,多余的重叠的那个面数据会直接存入属性表中,直接通过筛选,将含有重叠字段的数据删除即可。https://download.csdn.net/download/supermapsupport/87354853?spm=1001.2014.3001.5503

2,523EXP 2023年04月27日
(现有数据量太大,有一万多个面,我只是想去除部分,比如 A面和B面重叠部分,我想随机把A面重叠部分去掉或者其去掉B面重叠部分,你给的这2个方法我都试验了,没达到我想要的效果,我想试试编号那个操作能否达到我得预期)如何给数据集对象编号, 如何给拓扑检查出的重叠面进行对象编号,如何根据编号进行融合?
如果你想要实现去除A面重叠部分去掉或者其去掉B面重叠部分,以上两个方法我测试了都是可行的哈。

如果你想编号的话,就自己新建一个字段,然后更新列,可将SmID复制给新建的字段,也就实现了编号。

实现的效果多了线,把原有的面切割开了,这个画框的线能去掉么?

我想要的是去重叠后图1的效果

详细步骤:

1、通过拓扑检查直接检查出重叠面TopoCheckResult。为重叠面新建一个字段【重叠编号】,然后更新列,将ErrorObjectID_1或ErrorObjectID_2赋给【重叠编号】。拓扑检查重叠面以后会自动生成两个ErrorObjectID_1和ErrorObjectID_2字段。两个字段中保存了原始重叠的smid字段信息。

2、通过【追加列】将【是否重叠】字段追加到原始数据里面,连接字段选择ErrorObjectID_1或ErrorObjectID_2,如下图所示。这样原始数据里面就保存了重叠面的id信息。

3、通过【叠加分析】中的【擦除】将原始数据里面的重叠面TopoCheckResult擦除,得到结果数据集EraseResult。

4、追加行将重叠面TopoCheckResult添加到擦除后的面EraseResult中。结果如下所示:

5、【融合】,融合字段选择【重叠编号】,将字段值相同的进行融合。至此,就完成了重复面的合并,结果如下:

...