基于C#的AE二次开发字段统计

28 篇文章 16 订阅
24 篇文章 44 订阅

基于C#的AE二次开发字段统计

我的开发环境为ArcGIS Engine 10.2与Visual studio2010。利用IDataStatistics类可以实现数值型字段中的数量、最小值、最大值、平均数、数总、标准差的统计。

实现代码:

private void comboBoxFields_SelectedIndexChanged(object sender, EventArgs e)
{
    //定义及新建IDataStatistics接口的对象进行字段统计
    IDataStatistics dataStatistics = new DataStatisticsClass();
    //获取需要统计的**字段**(输入字段名称String类型的,但字段类型是数值型的)
    dataStatistics.Field = comboBoxFields.SelectedItem.ToString();
    //将当前矢量图层对象进行接口转换以进行选择集操作(**需要统计的矢量图层**)
    IFeatureLayer featureSelection = currentFeatureLayer as IFeatureLayer;
    //定义选择集的游标
    ICursor cursor = null;
    //使用null参数的Search方法获取整个选择集中的要素,得到相应的游标
    cursor = featureSelection.Search(null, false) as ICursor; 
    //将该游标赋值给IDataStatistics接口对象的游标
    dataStatistics.Cursor = cursor;
    //执行统计
    IStatisticsResults statisticsResults = dataStatistics.Statistics;
    //定义StringBuilder对象进行字符串的操作
    StringBuilder stringBuilder = new StringBuilder();
    //以下语句依次增加各类统计结果
    stringBuilder.AppendLine("统计总数: " + statisticsResults.Count.ToString() + "\n");
    stringBuilder.AppendLine("最小值:" + statisticsResults.Minimum.ToString() + "\n");
    stringBuilder.AppendLine("最大值:" + statisticsResults.Maximum.ToString() + "\n");
    stringBuilder.AppendLine("总计: " + statisticsResults.Sum.ToString() + "\n");
    stringBuilder.AppendLine("平均值: " + statisticsResults.Mean.ToString() + "\n");
    stringBuilder.AppendLine("标准差: " + statisticsResults.StandardDeviation.ToString());
    //将统计结果显示在窗体(标签)中
    labelStatisticsResult.Text = stringBuilder.ToString();
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值