AE开发中,使用chart控件对图层中用地类型面积进行统计显示

实施方法

主要采用C# Chart控件的使用总一文中的方式三:用类似chart1.Series[0].Points.DataBindXY(iXAxis,fTargetOT);中的DataBindXY(X,Y)来绑定数据。

首先获取固定的各类用地类型的面积,并返回数组

 private int[] GetTypeOfLandUse()
        {
            int[] LandArea=new int[8];
            string[] LandUse = new string[8] { "2000", "3000", "4000", "5000", "6000", "7000", "8000", "9000" };
            string sqlfilter;
            IFeatureClass pFeatureClass=currentLayer.FeatureClass;

            int i = 0;
            foreach(string landID in LandUse )
            {
                IFeatureCursor pFeatureCursor;
                IQueryFilter pFilter = new QueryFilterClass();
                sqlfilter = "FID_1=" + landID;
                pFilter.WhereClause = sqlfilter ;
                pFeatureCursor = pFeatureClass.Search(pFilter, false);

                IFeature pFeature = pFeatureCursor.NextFeature();
                double searchedArea = 0;
                while (pFeature != null)
                {
                    IArea area = pFeature.Shape as IArea;
                    searchedArea += (double)area.Area;
                    pFeature = pFeatureCursor.NextFeature();                   
                }
                LandArea[i]=Convert.ToInt32(searchedArea);
                i+=1;
            }
            //返回各用地类型数组
            return LandArea;
        }

向chart中添加数据

private void AddDataToChart()
        {
            chart1.Series.Clear();
            chart1.Titles.Add("土地利用类型面积统计"); 
            //List<string[]> Xdata_LandUse = new List<string[]>();
            string[] Landuse = new string[8]{ "2000", "3000", "4000", "5000", "6000", "7000", "8000", "9000" };
           // Xdata_LandUse.Add (Landuse);
            int[] LanduseID_area=GetTypeOfLandUse();
           // List<int[]> Ydata_area = new List<int[]>();
            //Ydata_area.Add(LanduseID_area);
            chart1.Series.Add("土地利用");
            chart1.Series[0].Points.DataBindXY(Landuse, LanduseID_area);

        }

自己先忘了添加chart1.Series.Add("土地利用");这一句,老是报错索引超限,添加之后问题解决,展示一下效果:

7000无数据,样式设置都是默认的,后期再慢慢调整优化了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空中旋转篮球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值