• ESRI.ArcGIS.AnalysisTools.Erase 结果是空?


    用ESRI.ArcGIS.AnalysisTools.Erase擦除,结果总是空的。

    这几天一直纠结一个问题,就是在AE下使用ESRI.ArcGIS.AnalysisTools中的工具(例如:泰森多边形的建立等)无法得到结果。例如使用以下代码:        

    Geoprocessor gp = new Geoprocessor();             
    
    gp.OverwriteOutput = true;
    
    ESRI.ArcGIS.AnalysisTools.CreateThiessenPolygons CTP = new CreateThiessenPolygons(@"D:AEDataschool.shp","D:AEDataCTP.shp");             
    
    CTP.fields_to_copy = "ONLY_FID";          
    
    gp.Execute(CTP, null);
    

    开始一直得不到结果,然后上网查了很久后终于解决了。一般都会是由于工具未注册导致(the tool is not licensed)。

    解决方案为:在主窗体的初始化函数中加入代码,如下:

    public Mainform()         
    
    {             
    
    #region 初始化许可             
    
    IAoInitialize m_AoInitialize = new AoInitializeClass();             
    
    esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;                         
    
    licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);             //默认第一个为有效地,之后无效,此级别最高,可用绝大多数功能
    
    //licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);级别最低
    
    #endregion
    
    InitializeComponent();          
    
    } 
    

    关键代码一定要放正确,放到InitializeComponent()后会无效。

    原因说明下:系统搭建时,axLicenseControl默认使用的是esriLicenseProductCodeEngine,这个的级别是最低的,导致ESRI.ArcGIS.AnalysisTools中的很多功能无法使用(而ESRI.ArcGIS.AnalysisTools得Buffer可用),所以要重新设置。

    注意:在axLicenseControl上进行右键查属性设置无法使设置生效,故只能加代码。

    注意:在axLicenseControl上进行右键查属性设置全去掉即可。

  • 相关阅读:
    [转]关于WM_NCHITTEST消息
    微信小程序的年月日-年月日选择器基于picker的mode = multiSelector日期范围
    解决移动端浏览器 HTML 音频不能自动播放的三种方法
    小程序反编译
    CSS实现背景透明,文字不透明
    event.target 属性返回哪个 DOM 元素触发了事件。
    微信小程序去除button边框
    jQuery setInterval倒计时精确到毫秒
    获取openid [微信小程序]
    array_column() 函数[二维数组转为一维数组]
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/3372978.html
Copyright © 2020-2023  润新知