- 积分
- 13192
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-15
- 最后登录
- 1970-1-1
|
发表于 2012-12-19 10:31:14
|
显示全部楼层
本帖最后由 luckycomcn 于 2012-12-19 10:35 编辑
其实没有必要将数据转换,GridData本身支持浮点型的数据。
至于色标的话,自己创建一个就可以了。
GDAL库我觉得太大了,之前用了一段时间,后面因为用的东西不多,基本上都自己写了。
创建色标的代码,从脚本移植过来的,自己在用。
- //---- 生成等值线值数组
- double[] vals = new double[15] { 5, 10, 15, 25, 40, 55, 100, 200, 300, 400, 500, 600, 700, 800,2000 };
- //---- 生成颜色数组(因为填色的需要,颜色数组要比等值线值数组多一个元素)
- Color[] colors = new Color[vals.Length + 1];
- //---- 通过RGB值给定颜色,Color.FromArgb函数中第一个参数是alpha值(0是完全透明,255是完全不透明)
- //---- 后面三个参数分别是R, G, B值
- colors[0] = Color.FromArgb(255, 204, 255, 204);//5
- colors[1] = Color.FromArgb(255, 191, 252, 189);//10
- colors[2] = Color.FromArgb(255, 180, 247, 176);//15
- colors[3] = Color.FromArgb(255, 169, 245, 162);//25
- colors[4] = Color.FromArgb(255, 158, 242, 150);//40
- colors[5] = Color.FromArgb(255, 145, 237, 135);//55
- colors[6] = Color.FromArgb(255, 135, 235, 124);//100
- colors[7] = Color.FromArgb(255, 123, 232, 111);//200
- colors[8] = Color.FromArgb(255, 108, 227, 98);//300
- colors[9] = Color.FromArgb(255, 97, 224, 85);//400
- colors[10] = Color.FromArgb(255, 85, 219, 72);//500
- colors[11] = Color.FromArgb(255, 71, 217, 47);//600
- colors[12] = Color.FromArgb(255, 55, 212, 47);//700
- colors[13] = Color.FromArgb(255, 39, 209, 33);//800
- colors[14] = Color.FromArgb(255, 14, 204, 14);//2000
- colors[15] = Color.FromArgb(0, 255, 255, 255);//>2000
- //---- 生成图例,前两个参数是上面两个数组,第三个参数是图元类型(枚举类型,本例中是ShapetTypes.Polygon)
- //---- 第4和5参数是最小值和最大值(本例中降水给的范围能包含所有可能数据即可)
- //---- 第6个参数表明图例中是否有无效数据,最后一个参数是无效数据的值
- LegendScheme aLS = LegendManage.CreateGraduatedLegendScheme(vals, colors, sType, 0, 1000, false, -9999.0);
-
之后用创建RasterLayer的时候这样就可以了
RasterLayer aLayer = MeteoInfoC.Data.MeteoData.DrawMeteoData.CreateRasterLayer(gdata, "ss", als);
|
评分
-
查看全部评分
|