ESRI.ArcGIS.AnalysisTools的使用
2014-12-09 11:09
375 查看
这几天一直纠结一个问题,就是在AE下使用ESRI.ArcGIS.AnalysisTools中的工具(例如:泰森多边形的建立等)无法得到结果。例如使用以下代码:
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.CreateThiessenPolygons CTP = new CreateThiessenPolygons(@"D:\AEtestyao\Data\school.shp",
"D:\AEtestyao\Data\CTP.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上进行右键查属性设置无法使设置生效,故只能加代码。
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.CreateThiessenPolygons CTP = new CreateThiessenPolygons(@"D:\AEtestyao\Data\school.shp",
"D:\AEtestyao\Data\CTP.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上进行右键查属性设置无法使设置生效,故只能加代码。
相关文章推荐
- ESRI.ArcGIS.AnalysisTools的使用
- ESRI.ArcGIS.AnalysisTools.Erase 结果是空?
- ESRI.ArcGIS.DataManagementTools.Append 使用
- 使用Arcgis tools fix后Android不能生成Apk包异常解决方法
- ArcGIS API for Javascript 使用query查询以某个点为半径的圆内的要素出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误
- 【2016年Esri开发者大会亮点解析】全新ArcGIS Python API,弥补Web端使用Python空白
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(2)使用Token
- IDW Spatial Analyst(ESRI.ArcGIS.SpatialAnalystTools)ArcEngine中反距离加权插值方法
- ArcGIS API for Javascript 使用缓冲区结果做query查询出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误
- ArcGIS API for Javascript 使用缓冲区结果做query查询出现“esri.config.defaults.io.proxyUrl 尚未进行设置”错误
- 推荐:ESRI用户使用Python指南
- 在使用ArcGIS 9.0或9.1的ArcToolbox时出错提示"该内存不能为读"
- 在使用ArcGIS的ArcToolbox时出错提示"该内存不能为读":安装MapInfo 时出现对话框“该计算机缺少Installscript引擎。请运行ISScript.msi(如果有的话),或者联系您的支持人员获得进一步的帮助。”
- Attacking Log Analysis Tools
- 基于ARCGIS的VCT扩展模块使用
- 使用 GNU autotools
- [导入]使用GeoTools 2.3M连接到POSTGIS数据库
- 对《Arcgis中使用SearchExpression注意》的补充
- ArcGIS9.2中使用Python和GP交互
- 使用 Visual Studio Tools for Office 创建自定义任务窗格