FME:面拓扑检查

        日常矢量数据采集过程中,难免会出现相邻面之间存在缝隙或重叠的现象,大家都习惯用Arcgis去查这种错误,但是当数据有几百份时,这种常规方式就显得有些麻烦了,在这个背景下,FME就派上了用场。

        首先,需要了解到三个主要的转换器和经常会用到的参数:Dissolver,DonutHoleExtractor,AreaOnAreaOverlayer。

Dissolver转换器:通过删除公共边界来融合面要素,从而创建更大的区域。

  • 分组:对输入的多边形要素分组,并用分组参数进行融合。如果参数不指定,那么所有的输入要素一起被融合。分组参数能够用一个转换器来融合多组有可能重叠的多边形。
  • 容差:在二维平面上,几何对象之间的最小距离是相等的,以地面单位。如果容差为 None,那么几何对象必须完全相同,才能被认为是相等的。如果容差是自动,就会根据输入几何对象的位置自动计算出容差。此外,还可以使用自定义容差。
  • 融合计数属性:该参数指定的属性将存储融合到输出多边形的输入多边形的个数。

DonutHoleExtractor转换器:将一个有洞的多边形分离为洞和环这两个组成部分。

 AreaOnAreaOverlayer转换器:进行面与面的叠加(多边形的交点)操作,因此所有输入的面彼此相交,生成的面要素被创建和输出。产生的面具有原始的所有属性和任何重叠的多边形。

  •  容差:在二维平面上,几何对象之间的最小距离是相等的,以地面单位。如果容差为 None,那么几何对象必须完全相同,才能被认为是相等的。如果容差是自动,就会根据输入几何对象的位置自动计算出容差。此外,还可以使用自定义容差。
  • 压盖计数属性:压盖计数属性参数保存结果要素为被压盖的数量,此参数至少为1 。

        在了解完这三个转换器的效果后,面拓扑检查功能怎么实现就很显而易见了。基本思路为:通过Dissolver和DonutHoleExtractor找出所有的空洞区域,通过AreaOnAreaOverlayer找出所有的重叠区域。

        这里需要再跟大家分享一个小技巧,在FME模板写好后,可以利用此方式直接运行,不用打开FME和重新读数据。

1、在读数据后,将路径设置为相对路径的方式,后续需要检查的数据只需放入此位置即可,拷贝到其他电脑也同样不用修改路径。

 2、新建一个bat文件,里面填入以下参数

注意需要在环境变量Path中添加fme.exe所在的路径,不然这里就需要添加全路径 

        后续只需将需要处理的数据放入指定的相对路径中,双击bat运行即可,多次使用时很方便,对不会用FME的同事也非常友好。

 欢迎大家关注我的微信公众号:宇宙测绘师,里面会有相应的演示视频分享。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值