wpf arcgis engine 当前没有或未启用Spatial Analyst许可解决办法
用wpf 在做叠加分析时 遇到了一个错误:“ERROR 010096:当前没有或未启用Spatial Analyst许可”;在环境中把这个Spatial Analyst扩展功能给勾了也不能解决,现在把我的解决办法写上以供参考:
解决办法是在app中初始化许可时加上一句话就行了 下面是 我在app.cs中的许可代码 放到app中的类中即可
//为alicense设置许可
//当然这之中也要引用一些类库, 都是arcgis自带的
protected override void OnStartup(StartupEventArgs e)
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
initlicense();
//弹出窗体 ,app前台把startupUri 去掉 ,不然会弹出两个窗体
new Arcmap().Show();
}
public void initlicense()
{
AoInitialize aoi = new AoInitialize();
esriLicenseExtensionCode extensionCodes = esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst; //这是解决的办法
esriLicenseExtensionCode extensionCode = esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst;
esriLicenseProductCode pro = esriLicenseProductCode.esriLicenseProductCodeEngine;
if (aoi.IsProductCodeAvailable(pro) == esriLicenseStatus.esriLicenseAvailable &&
aoi.IsExtensionCodeAvailable(pro, extensionCode) == esriLicenseStatus.esriLicenseAvailable &&
aoi.IsExtensionCodeAvailable(pro, extensionCodes) == esriLicenseStatus.esriLicenseAvailable
)
{
aoi.Initialize(pro);
aoi.CheckOutExtension(extensionCode);
aoi.CheckOutExtension(extensionCodes);
}
}
esriLicenseExtensionCode中的属性有很多加载方式和以上类似