arcgis高级工具eliminate实现思路

本文介绍如何使用 ArcGIS Engine 接口实现碎小图斑消除功能,通常此操作需高级权限。文章详细说明了选择要素集、遍历要素、获取相邻要素并融合的过程,并列举了关键接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用gp调用eliminate工具实现碎小图斑消除是很高级的工具,但是在调用的时候必须是高级权限advanced(即以前版本的arcinfo权限),这在开发ARCGIS engine时候未免为难,如果没有购买arcgis桌面版,就不可以使用这个gp工具。


那么能不能使用arcgis engine提供的接口来实现这个功能呢,当然可以。arcgis desktop中的几乎所有功能都是可以使用AO的接口来完成的,AO是arcgis的基础。

小小研究一把,终于使用AE接口实现了eliminate功能,这里将思路分享给大家:

在使用toolbox中的eliminate的时候,首先的必需选择一个layer中的要素,那么这些要素才能够融合到大的图斑中,如果默认是融合到与所选碎小图斑边界接触最长的那个图斑中。而在调用gp的时候,首先需要用makelayer,然后再SelectLayer。

这样分析就明显得到,要先选择要素集嘛。选完要素集做什么,当然就是合并。合并完就ok了。

所以具体步骤就是这样:
1、获取要素集。
2、根据要素集遍历每一个要素。
3、每一个要素选择其相邻的要素集。
4、遍历相邻要素集,获取相邻边界最长的要素,将要素与其最长交界的要素合并。保存,完毕。

大概说一下所用关键接口:
1、ISelectionSet这个接口用来放选择要素集的,它肯定是从IFeatureClass中来的,中间需要IFeatureSelection接口过渡。
2、ICursor、IFeatureCursor,这是用来遍历的,所以游标也是必须的。IQueryFilter、ISpatialFilter,获取要素必须有。
3、再往下就是IFeature、IGeometry。这些要素和几何图形的接口也是必需品。当然还有拓扑处理接口也是少不了了。
如果要是用相邻最大面积融合,那就更简单,找相交最大面积要素就是了。

下一篇准备讲一下高级工具smoothPolygon实现的思路。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值