protected override void OnStart(string[] args) { bool isBound = ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); if (!isBound) { return; } IAoInitialize aoInitialize = new AoInitializeClass(); aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeWorkflowManager); IJTXDatabaseManager databaseMan = new JTXDatabaseManagerClass(); m_database = (IJTXDatabase2)databaseMan.GetActiveDatabase(false); //m_lastDate = (DateTime.Now; m_dataWorkspaceNames = m_database.GetDataWorkspaceNames(null); IJTXSpatialNotificationManager spatNotifMan = m_database.SpatialNotificationManager; m_regLayers = spatNotifMan.RegisteredLayerInfos; for (int i = 0; i < m_dataWorkspaceNames.Count; i++) { IWorkspace ws = m_database.GetDataWorkspace(m_dataWorkspaceNames.get_Item(i).DatabaseID, ""); DateTime now = (DateTime)((IDatabaseConnectionInfo2)ws).ConnectionCurrentDateTime; m_workspaces.Add(new WorkspaceInfo(m_dataWorkspaceNames.get_Item(i).DatabaseID, ws, now)); } m_timer.Enabled = true; }
/// <summary> /// Check out spatial analyst license /// </summary> /// <returns>esriLicenseStatus</returns> public esriLicenseStatus GetSpatialAnalystLicense() { //Check out a Spatial Analyst license with the ArcView product. esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeAdvanced; IAoInitialize pAoInitialize = new AoInitializeClass(); esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; //Check the productCode. licenseStatus = pAoInitialize.IsProductCodeAvailable(productCode); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { //Check the extensionCode. licenseStatus = pAoInitialize.IsExtensionCodeAvailable(productCode, esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { //Initialize the license. licenseStatus = pAoInitialize.Initialize(productCode); if ((licenseStatus == esriLicenseStatus.esriLicenseCheckedOut)) { //Check out the Spatial Analyst extension. licenseStatus = pAoInitialize.CheckOutExtension (esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst) ; } } } return(licenseStatus); }
public imageAnalysisUtil() { gp.OverwriteOutput = true; IAoInitialize a = new AoInitializeClass(); if (!a.IsExtensionCheckedOut(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst)) { weCheckedOutSpa = true; a.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); } }
public void InitArcGISLicence() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); AoInitialize aoi = new AoInitializeClass(); esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeAdvanced; if (aoi.IsProductCodeAvailable(productCode) == esriLicenseStatus.esriLicenseAvailable) { aoi.Initialize(productCode); } aoi.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); }
/// <summary> /// 绑定lincense /// </summary> public void BindArcgisLicense() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); IAoInitialize _iAoInitialize = new AoInitializeClass(); esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; licenseStatus = _iAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); //licenseStatus = _iAoInitialize.(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB); licenseStatus = _iAoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeDataInteroperability); licenseStatus = _iAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB); }
/// <summary> /// This is used to return whether the function tool is licensed to execute. /// </summary> /// <remarks>Override to provide custom licensing check</remarks> /// <returns></returns> public virtual bool IsLicensed() { IAoInitialize aoi = new AoInitializeClass(); esriLicenseStatus status = aoi.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeWorkflowManager); if (status == esriLicenseStatus.esriLicenseCheckedOut || status == esriLicenseStatus.esriLicenseAlreadyInitialized || status == esriLicenseStatus.esriLicenseAvailable) { return(true); } else { return(false); } }
private bool InitializeEngineLicense () { AoInitialize aoi = new AoInitializeClass (); //more license choices could be included here esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeEngine; esriLicenseExtensionCode extensionCode = esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst; if (aoi.IsProductCodeAvailable(productCode) == esriLicenseStatus.esriLicenseAvailable && aoi.IsExtensionCodeAvailable(productCode, extensionCode) == esriLicenseStatus.esriLicenseAvailable) { aoi.Initialize(productCode); aoi.CheckOutExtension(extensionCode); return true; } else return false; }
private static void Ensure3dAnalyst() { IAoInitialize aoInitialize = new AoInitializeClass(); bool is3dAvailable = aoInitialize.IsExtensionCheckedOut( esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); if (!is3dAvailable) { esriLicenseStatus status = aoInitialize.CheckOutExtension( esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); _msg.DebugFormat("3D Analyst checkout status: {0}", status); } }
//签出扩展许可 private static bool CheckOutLicenseExtension(ref AoInitializeClass aoInit, esriLicenseExtensionCode code) { try { if (aoInit.CheckOutExtension(code) == esriLicenseStatus.esriLicenseCheckedOut) { aoInit.GetLicenseExtensionName(code); //TraceHandler.AddDebugMessage("check out successed :" + aoInit.GetLicenseExtensionName(code)); return(true); } //TraceHandler.AddErrorMessage("!!!check out error :" + aoInit.GetLicenseExtensionName(code)); } catch (Exception ex) { Console.WriteLine("初始化错误" + ex.ToString()); } return(false); }
private bool InitializeEngineLicense() { AoInitialize aoi = new AoInitializeClass(); //more license choices could be included here esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeEngine; esriLicenseExtensionCode extensionCode = esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst; if (aoi.IsProductCodeAvailable(productCode) == esriLicenseStatus.esriLicenseAvailable && aoi.IsExtensionCodeAvailable(productCode, extensionCode) == esriLicenseStatus.esriLicenseAvailable) { aoi.Initialize(productCode); aoi.CheckOutExtension(extensionCode); return(true); } else { return(false); } }
public static void AoInitialize() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); IAoInitialize pAoInitialize = new AoInitializeClass(); if (pAoInitialize == null) { throw new Exception("AO Initialize failed"); } esriLicenseStatus status = pAoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeAdvanced); if (status == esriLicenseStatus.esriLicenseAvailable) { pAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); } else if (status == esriLicenseStatus.esriLicenseUnavailable) { throw new Exception("esriLicenseProductCodeAdvanced is unavailable"); } status = pAoInitialize.IsExtensionCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeAdvanced, esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); if (status == esriLicenseStatus.esriLicenseAvailable) { status = pAoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); if (status == esriLicenseStatus.esriLicenseNotInitialized) { throw new Exception("esriLicenseExtensionCodeSpatialAnalyst is not initialized"); } } else if (status == esriLicenseStatus.esriLicenseNotLicensed) { throw new Exception("esriLicenseExtensionCodeSpatialAnalyst is not licensed"); } else if (status == esriLicenseStatus.esriLicenseUnavailable) { throw new Exception("esriLicenseExtensionCodeSpatialAnalyst is unavailable"); } }
private static bool checkLicense() { //ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine); ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); IAoInitialize m_AoInitialize = new AoInitializeClass(); esriLicenseStatus licenseStatus = (esriLicenseStatus)m_AoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { licenseStatus = (esriLicenseStatus)m_AoInitialize.IsExtensionCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine, esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { licenseStatus = (esriLicenseStatus)m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);//esriLicenseProductCodeEngine); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { System.Windows.Forms.MessageBox.Show("The initialization failed. This application cannot run!"); return(false); } else { licenseStatus = (esriLicenseStatus)m_AoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeDesigner); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { System.Windows.Forms.MessageBox.Show("Unable to check out the Designer extension. This application cannot run!"); return(false); } } } return(true); } else { System.Windows.Forms.MessageBox.Show("The ArcGIS Engine product is unavailable. This application cannot run!"); return(false); } }
public void Execute(IArray paramvalues, ITrackCancel TrackCancel, IGPEnvironmentManager envMgr, IGPMessages message) { IAoInitialize aoInitialize = new AoInitializeClass(); esriLicenseStatus naStatus = esriLicenseStatus.esriLicenseUnavailable; IGPUtilities2 gpUtil = null; IDataset osmDataset = null; try { if (!aoInitialize.IsExtensionCheckedOut(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork)) { naStatus = aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork); } gpUtil = new GPUtilitiesClass(); // OSM Dataset Param IGPParameter osmDatasetParam = paramvalues.get_Element(in_osmFeatureDataset) as IGPParameter; IDEDataset2 osmDEDataset = gpUtil.UnpackGPValue(osmDatasetParam) as IDEDataset2; if (osmDEDataset == null) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), osmDatasetParam.Name)); return; } osmDataset = gpUtil.OpenDatasetFromLocation(((IDataElement)osmDEDataset).CatalogPath) as IDataset; // Network Config File Param IGPParameter osmNetConfigParam = paramvalues.get_Element(in_NetworkConfigurationFile) as IGPParameter; IGPValue osmNetConfigFile = gpUtil.UnpackGPValue(osmNetConfigParam) as IGPValue; if ((osmNetConfigFile == null) || (string.IsNullOrEmpty(osmNetConfigFile.GetAsText()))) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), osmNetConfigParam.Name)); return; } // Target Network Dataset Param IGPParameter ndsParam = paramvalues.get_Element(out_NetworkDataset) as IGPParameter; IDataElement deNDS = gpUtil.UnpackGPValue(ndsParam) as IDataElement; if (deNDS == null) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), ndsParam.Name)); return; } // Create Network Dataset using (NetworkDataset nd = new NetworkDataset(osmNetConfigFile.GetAsText(), osmDataset, deNDS.Name, message, TrackCancel)) { if (nd.CanCreateNetworkDataset()) { nd.CreateNetworkDataset(); } } } catch (UserCancelException ex) { message.AddWarning(ex.Message); } catch (Exception ex) { message.AddError(120008, ex.Message); #if DEBUG message.AddError(120008, ex.StackTrace); #endif } finally { if (osmDataset != null) { ComReleaser.ReleaseCOMObject(osmDataset); } if (naStatus == esriLicenseStatus.esriLicenseCheckedOut) { aoInitialize.CheckInExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork); } if (gpUtil != null) { ComReleaser.ReleaseCOMObject(gpUtil); } GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); } }
public void Execute(IArray paramvalues, ITrackCancel TrackCancel, IGPEnvironmentManager envMgr, IGPMessages message) { IAoInitialize aoInitialize = new AoInitializeClass(); esriLicenseStatus naStatus = esriLicenseStatus.esriLicenseUnavailable; IGPUtilities2 gpUtil = null; IDataset osmDataset = null; try { if (!aoInitialize.IsExtensionCheckedOut(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork)) naStatus = aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork); gpUtil = new GPUtilitiesClass(); // OSM Dataset Param IGPParameter osmDatasetParam = paramvalues.get_Element(in_osmFeatureDataset) as IGPParameter; IDEDataset2 osmDEDataset = gpUtil.UnpackGPValue(osmDatasetParam) as IDEDataset2; if (osmDEDataset == null) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), osmDatasetParam.Name)); return; } osmDataset = gpUtil.OpenDatasetFromLocation(((IDataElement)osmDEDataset).CatalogPath) as IDataset; // Network Config File Param IGPParameter osmNetConfigParam = paramvalues.get_Element(in_NetworkConfigurationFile) as IGPParameter; IGPValue osmNetConfigFile = gpUtil.UnpackGPValue(osmNetConfigParam) as IGPValue; if ((osmNetConfigFile == null) || (string.IsNullOrEmpty(osmNetConfigFile.GetAsText()))) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), osmNetConfigParam.Name)); return; } // Target Network Dataset Param IGPParameter ndsParam = paramvalues.get_Element(out_NetworkDataset) as IGPParameter; IDataElement deNDS = gpUtil.UnpackGPValue(ndsParam) as IDataElement; if (deNDS == null) { message.AddError(120048, string.Format(resourceManager.GetString("GPTools_NullPointerParameterType"), ndsParam.Name)); return; } // Create Network Dataset using (NetworkDataset nd = new NetworkDataset(osmNetConfigFile.GetAsText(), osmDataset, deNDS.Name, message, TrackCancel)) { if (nd.CanCreateNetworkDataset()) nd.CreateNetworkDataset(); } } catch (UserCancelException ex) { message.AddWarning(ex.Message); } catch (Exception ex) { message.AddError(120008, ex.Message); #if DEBUG message.AddError(120008, ex.StackTrace); #endif } finally { if (osmDataset != null) ComReleaser.ReleaseCOMObject(osmDataset); if (naStatus == esriLicenseStatus.esriLicenseCheckedOut) aoInitialize.CheckInExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork); if (gpUtil != null) ComReleaser.ReleaseCOMObject(gpUtil); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); } }
protected override void OnStart(string[] args) { bool isBound = ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); if (!isBound) return; IAoInitialize aoInitialize = new AoInitializeClass(); aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeWorkflowManager); IJTXDatabaseManager databaseMan = new JTXDatabaseManagerClass(); m_database = (IJTXDatabase2)databaseMan.GetActiveDatabase(false); //m_lastDate = (DateTime.Now; m_dataWorkspaceNames = m_database.GetDataWorkspaceNames(null); IJTXSpatialNotificationManager spatNotifMan = m_database.SpatialNotificationManager; m_regLayers = spatNotifMan.RegisteredLayerInfos; for (int i = 0; i < m_dataWorkspaceNames.Count; i++) { IWorkspace ws = m_database.GetDataWorkspace(m_dataWorkspaceNames.get_Item(i).DatabaseID, ""); DateTime now = (DateTime)((IDatabaseConnectionInfo2)ws).ConnectionCurrentDateTime; m_workspaces.Add(new WorkspaceInfo(m_dataWorkspaceNames.get_Item(i).DatabaseID, ws, now)); } m_timer.Enabled = true; }
/// <summary> /// Check out spatial analyst license /// </summary> /// <returns>esriLicenseStatus</returns> public esriLicenseStatus GetSpatialAnalystLicense() { //Check out a Spatial Analyst license with the ArcView product. esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeAdvanced; IAoInitialize pAoInitialize = new AoInitializeClass(); esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; //Check the productCode. licenseStatus = pAoInitialize.IsProductCodeAvailable(productCode); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { //Check the extensionCode. licenseStatus = pAoInitialize.IsExtensionCodeAvailable(productCode, esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { //Initialize the license. licenseStatus = pAoInitialize.Initialize(productCode); if ((licenseStatus == esriLicenseStatus.esriLicenseCheckedOut)) { //Check out the Spatial Analyst extension. licenseStatus = pAoInitialize.CheckOutExtension (esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst) ; } } } return licenseStatus; }