用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中的屬性有很多加載方式和以上類似