MapXtreme2004代码 之 自定义范围主题地图

private void showTheme(string temp,bool flag)

{

     FeatureLayer lyrPnt=MapControl1.Map.Layers[_findLayerName] as FeatureLayer;

     lyrPnt.Modifiers.Clear();

     RangedTheme thm = new RangedTheme(lyrPnt,temp,"ph",4,DistributionMethod.CustomRanges);

     //自定义

    

     double x,y;

     x=thm.NumericMin;

     y=thm.NumericMax;

     lyrPnt.Modifiers.Insert(0,thm);

     if(flag==true)

     {

         //获取设置的最大最小值

         if(TextBox1.Text!="")

              x=double.Parse(TextBox1.Text);

         if(TextBox2.Text!="")

              y=double.Parse(TextBox2.Text);

     }

     thm.Bins[0].Min = x;

     thm.Bins[0].Max = x+(y-x)/4;

     thm.Bins[1].Min = x+(y-x)/4;

     thm.Bins[1].Max = x+(y-x)/2;

     thm.Bins[2].Min = x+(y-x)/2;

     thm.Bins[2].Max = x+3*(y-x)/4;

     thm.Bins[3].Min = x+3*(y-x)/4;

     thm.Bins[3].Max = y;

     thm.RecomputeBins();

     //平均

 

     ThemeLegendFrame frame = LegendFrameFactory.CreateThemeLegendFrame(temp,"pp",thm);

     MapControl1.Map.Legends.Clear();

     Legend legend = MapControl1.Map.Legends.CreateLegend(new Size(5,5));

     legend.Frames.Append(frame);

     MapControl1.Map.Adornments.Append(legend);

     //MapControl1上显示Legend图例

 

     TextBox1.Text=x.ToString();

     TextBox2.Text=y.ToString();

}

 

此方法函数可以获取两个TextBox中的数值,然后显示两个数值范围之间的主题地图.flagflase时候,为默认生成的主题地图,flagtrue时候,为自定义范围的主题地图.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值