問題描述:在調用gp的時候,有些工具中如clip、轉換工具、3d分析中的一些工具idw、classfiy等工具的時候添加了引用就不報錯,但是在使用eliminate和smooth Polygon的時候就會提示錯誤如下圖:
這種錯誤在排除了是輸入參數錯誤之後,問題就是license權限不夠。
一般方法是添加arcinfo的license。
解決方式:
在arcgis10.2中,找不到
esriLicenseProductCode.esrilicenseproductcodearcInfo這個參數,但是比以前多了其他一些參數,比如:basic、standard、advanced等。如下圖,可以試一下下面的幾個。
經過嘗試,發現對於smooth Polygon,arcgis engine enterprise geodatabase已經足夠,但是對於eliminate,必須要用advanced權限才能足夠,經過嘗試,arcgis server也可以。
需要注意的是,不需要多選,如果多選,系統會默認最低級的權限,而忽略高級權限,這就是我想了一天多才能夠解決的原因,血的教訓啊。
當然也參考了下面這篇文章。深表感謝。
http://blog.csdn.net/hsg77/article/details/7643819
具體方式如下:
1、Vs2010中,切換到代碼模式,項目——add arcgis license checking
2、單擊“advanced”,如果涉及到3d分析或者空間分析,需要在右邊勾選,不然在調用響應gp的時候會報錯。(切記,在左邊選advanced的時候,不要再選上面的項,不然系統會默認選最低級的license)。
如果是選arcgis server,不需要選extensions,不知道爲什麼。
3、這樣,在program.cs的代碼中,會自動添加相關license的代碼。如果需要可以加判斷語句,以使用戶在使用的時候會提示缺什麼license。
當然,這個程序在用的時候,是需要arcgis desktop支持的。