你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
朱新颖
赞同来自:
RuntimeManager.Bind(ProductCode.Desktop); ESRI.ArcGIS.esriSystem.IAoInitialize ao = new ESRI.ArcGIS.esriSystem.AoInitialize(); ao.Initialize(ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeAdvanced);ao.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeGeoStats); ESRI.ArcGIS.Geoprocessor.Geoprocessor gp = new ESRI.ArcGIS.Geoprocessor.Geoprocessor(); gp.OverwriteOutput = true; ESRI.ArcGIS.GeostatisticalAnalystTools.IDW IDW = new ESRI.ArcGIS.GeostatisticalAnalystTools.IDW(); IDW.in_features = @C:\Users\Administrator\Downloads\交通大区\AdminZone.shp; IDW.z_field = AREA; IDW.out_ga_layer = zxyTset; IDW.out_raster = @D:\ZhuXinying\测试数据\Raster.gdb\test3; IDW.power = 2; IDW.search_neighborhood = NBRTYPE=Standard S_MAJOR=2.89390101003182 S_MINOR=2.89390101003182 ANGLE=0 NBR_MAX=15 NBR_MIN=10 SECTOR_TYPE=ONE_SECTOR; GeoProcessorResult gpResult = new GeoProcessorResult(); try { gp.Execute(IDW, null); } catch (Exception ex) { // Print geoprocessing execution error messages. for (int i = 0; i < gp.MessageCount; i++) Console.WriteLine(gp.GetMessage(i)); }
IGPUtilities gpUtilities = new GPUtilitiesClass(); ILayer layer = gpUtilities.DecodeLayer(gpResult.GetOutput(0));
要回复问题请先登录或注册
1 个回复
朱新颖
赞同来自:
1,经测试,下面代码可以成功。但是有两点一定要注意,一是程序要绑定Desktop产品,初始化Desktop产品下的许可,例如Advanced(注意使用Desktop许可的话是无法使用任何控件的),初始化Engine许可无法成功;二是用代码检出esriLicenseExtensionCodeGeoStats许可,使用LicenseControl控件的话无法检出该扩展许可,只能使用代码检出。
2,可以使用IGPUtilities.DecodeLayer方法来获取返回的out_ga_layer,参考代码:
要回复问题请先登录或注册