最近这些天被AE的相关权限问题困扰得十分痛苦,今天终于把弄把问题解决了。
问题:本机上已经安装AE的相关license,在使用gp工具做叠置分析的时候,可以实现Intesect和Union,但是就是不能使用Identity,使用ge.excute()返回的结果是null,出现这个问题的原因是,使用intesect和Union只需要ArcEngin的权限就行了,只要在License中有勾选ArcEngine的选项都可以使用,但是如果想使用Identity,就必须有ArcInfo权限。本次遇到的问题就是,我觉得我已经勾选了ArcInfo,也根据别的资料的一些说法,在代码里边初始化权限,这些方法我统统都试过了,但是就是没办法获取ArcInfo的权限,我也很确定是权限的问题,因为出现这问题是在我重装系统之后,重装系统之前,该功能是完全可以使用的,就是在重装系统之后。为此我还多次重装了系统,都是同样的问题,为此肯定是我自己在安装ArcGIS的过程中出现了一些问题,但是就是找不到问题所在。顶着一千种不愿意,今天还是用了一天的时间继续去找问题,今天晚上,想试着用别的方法来实现identity功能,于是用别人的代码来试一下,试了一下还是没有成功,人家写的代码比较好,显示为什么错误:没有相关的权限,然后自己有新建了一个工程,正巧,我其中的一个工程,是单单使用ArcInfo权限的,运行也出现了错误,为了确认是不是ArcInfo没有获取成功,我专门新建了一个工程,用来测试单独使用ArcInfo的权限是否真的没有获取成功,果真,是没有ArcInfo,尽管我一直认为我已经获取了。于是上网找资料,说出现的这个问题是因为没有启动ArcGIS服务,于是我就去找如何启动ArcGISf服务,大概是神都觉得我可怜,然后给赐了我一点运气,让我找到了一份是关于Arcgi9.3安装说明的文档,这份文档跟我之前一直使用的安装说明有一些不同,不同之处恰好就是说获取ArcInfo的,而我就是恰好没有做这些步骤,于是我把步骤补全了,步骤如下:
License Manage 9.x -->Server Diags页面,点击Perform Diagnostics然后会出现一些关于权限的信息,在这个页面的最低端,会提示:Using License File:C:\Program Files\ESRI\License\arcgis9x\Arc_info9.lic,然后再到Star/Stop/Reread页面,点击ReRead Licens File,然后再点击Start Server,看见下面的提示说启动成功就行了,然后再去测试一下自己的程序License是否可以使用ArcInfo,这次终于成功了,之前的程序终于可以运行起来了.....
原来,困扰自己这么长时间的问题,就这么简单。