ArcEngine GP工具——Summary Statistics(汇总统计)功能的实现

来源:互联网 发布:中企动力源码 编辑:程序博客网 时间:2024/06/18 09:16

ArcEngine目前已经极为成熟,网上的资源很多,通过关键词基本都可以搜索到想要的代码。ArcEngine中gp工具使用比较广泛的,网上的资源并没有将所有gp工具的具体用法,特别是字符串参数输入的格式并没有一个具体的实例,即使是有,但大多数是只是单个字段,并没有多字段的格式实例。例如工具箱中的分析工具—统计分析—汇总统计(Analysis Toolbox–Statistics Toolset–Summary Statistics),这功能实现的难点在于字段参数的格式上,在ArcGIS帮助文档中,虽然有关于python的代码实现实例,但与AE中的格式还是有一定的差别,例如:

import arcpyfrom arcpy import envenv.workspace = "C:/data/Habitat_Analysis.gdb"'''统计字段正确的格式为[["字段1","统计类型(SUM、MAX、Count等)"],["字段1","统计类型"],["字段1","统计类型)"]....]'''statField=[["Shape_Length", "SUM"],["Shape_Area","SUM"]]'''所显示的字段'''caseField=["Name","Type",.....]arcpy.Statistics_analysis("futrds", "C:/output/output.gdb/stats",statField,caseField)

在ArcEngine中调用Statistics工具时,字段参数的格式实例如下:

 #region 初始化许可           IAoInitialize m_AoInitialize = new AoInitializeClass();           esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;           licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);           #endregion           currentFeatureLayer = axMapControl1.get_Layer(0) as IFeatureLayer;           ESRI.ArcGIS.Geoprocessor.Geoprocessor gp = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();           ESRI.ArcGIS.AnalysisTools.Statistics statistics = new ESRI.ArcGIS.AnalysisTools.Statistics();           statistics.in_table = currentFeatureLayer;           statistics.out_table = mdbPath+"\\"+tableName;           statistics.statistics_fields = "Shape_Area SUM";//参数统计字段的格式:“字段A SUM” ,其中SUM为统计类型;如果想统计多个字段,则用分号隔开,例如“字段A SUM;字段B SUM;....”           statistics.case_field = "FBTLX";           gp.Execute(statistics, null);           statistics.out_table = mdbPath + "\\" + tableName1;           statistics.case_field = "DI_LEI;LIN_ZHONG;";//如果想显示指定几个字段,字段间使用分号隔开           gp.Execute(statistics, null);
阅读全文
0 0
原创粉丝点击