arcgisengine中调用gp报错的问题

问题描述:在调用gp的时候,有些工具中如clip、转换工具、3d分析中的一些工具idwclassfiy等工具的时候添加了引用就不报错,但是在使用eliminatesmooth Polygon的时候就会提示错误如下图:

 

这种错误在排除了是输入参数错误之后,问题就是license权限不够。

一般方法是添加arcinfolicense

解决方式:

arcgis10.2中,找不到

esriLicenseProductCode.esrilicenseproductcodearcInfo这个参数,但是比以前多了其他一些参数,比如:basicstandardadvanced等。如下图,可以试一下下面的几个。

经过尝试,发现对于smooth Polygonarcgis engine enterprise geodatabase已经足够,但是对于eliminate,必须要用advanced权限才能足够,经过尝试,arcgis server也可以。

需要注意的是,不需要多选,如果多选,系统会默认最低级的权限,而忽略高级权限,这就是我想了一天多才能够解决的原因,血的教训啊。

 

当然也参考了下面这篇文章。深表感谢。

http://blog.csdn.net/hsg77/article/details/7643819

 

具体方式如下:

1Vs2010中,切换到代码模式,项目——add arcgis license checking

 

2、单击“advanced”,如果涉及到3d分析或者空间分析,需要在右边勾选,不然在调用响应gp的时候会报错。(切记,在左边选advanced的时候,不要再选上面的项,不然系统会默认选最低级的license)。

 

 

如果是选arcgis server,不需要选extensions,不知道为什么。

3、这样,在program.cs的代码中,会自动添加相关license的代码。如果需要可以加判断语句,以使用户在使用的时候会提示缺什么license

当然,这个程序在用的时候,是需要arcgis desktop支持的。

你可能感兴趣的:(arcgis,c#,gp工具)