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时候,为自定义范围的主题地图.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值