关于调用ArcGIS中GP工具.Erase、SymDiff

本文介绍使用ArcGIS中的GP工具Erase与SymDiff时遇到无法生成结果的问题及解决办法。问题源于授权许可不足,文章提供了正确的代码示例并详细说明了如何设置合适的许可。

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

http://www.cnblogs.com/3echo/archive/2009/11/11/1600793.html

关于调用ArcGIS中GP工具.Erase、SymDiff

得不到生成结果问题解决方法

/ 3echo

一、问题描述:

最近在做一个数据检查工具,检查空间数据拓扑关系的正确性,我使用以下代码实现图形擦除效果、图形差集效果,总是得不到生成结果文件,觉得非常奇怪。

1、  擦除效果代码

Erase tErase = new Erase();

tErase.in_features = tInfeatures;                  //待擦除图层

tErase.erase_features = tEraseFeatures;            //擦除图层

tErase.out_feature_class = strFileName;            //输出文件路径

tErase.cluster_tolerance = this.m_Tolerance;       //容差值

 

2、   差集效果代码  

SymDiff tSymDiff = new SymDiff();

tSymDiff.in_features = tInfeatures;

tSymDiff.update_features = tupdatefeatures;

tSymDiff.out_feature_class = strFileName;

tSymDiff.cluster_tolerance = "0.01";           // this.m_Tolerance; 

tSymDiff.join_attributes = "ALL";

 

二、问题分析

得到不生成结果文件有几中可能情况,一种是参数设置不正确,如容差值应该为数字型的文字,如果弄成文本型文字,就是出现得不到生成结果文件的情形;第二种是要素类设置不正确。

我仔细核对了这两种情形,发现自己写的代码确实是没有问题,但是就是出不来结果,真是奇怪了。

三、问题解决

最后发现是license授权问题,我们在程序启动运行时,如果将权限设置低于ArcInfo,都会得不到生成结果,不信你可以利用ArcMap试试看。所以这就要求我们在初始化License时要授予正确的权限。

转载于:https://www.cnblogs.com/hl3292/archive/2010/09/27/1836476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值