本帖最后由 MeteoInfo 于 2012-12-21 18:08 编辑
wbriver 发表于 2012-12-21 13:26
数据之前发过,再把数据发一下吧,呵呵,麻烦王老师了~
我刚用你的数据试了试,没有发现问题。
 - private void TSMI_Test_Click(object sender, EventArgs e)
- {
- //Create a MeteoDataInfo object
- MeteoDataInfo aDataInfo = new MeteoDataInfo();
- //Open GrADS data file
- string aFile = "D:\\Temp\\GrADS\\WRF2012121100_d02.ctl";
- aDataInfo.OpenGrADSData(aFile);
- //Get GridData
- GridData press = aDataInfo.GetGridData("RH2");
- //Create a legend scheme
- bool hasUndefData = false;
- LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(press,
- LegendType.GraduatedColor, ShapeTypes.Polygon, ref hasUndefData);
- //Create a contour layer
- VectorLayer aLayer = DrawMeteoData.CreateShadedLayer(press, aLS, "Shaded_RH2", "RH2");
- aLayer.ProjInfo = aDataInfo.ProjInfo;
- aLayer.IsMaskout = true;
- //Add layer
- layersLegend1.ActiveMapFrame.AddLayer(aLayer);
- layersLegend1.ActiveMapFrame.MoveLayer(aLayer.Handle, 0);
- layersLegend1.Refresh();
- //Change title of the layout
- LayoutGraphic aTitle = mapLayout1.GetTexts()[0];
- aTitle.SetLabelText("MeteoInfo Class Library Demo - Shaded Layer");
- //Add or change the legend in layout
- LayoutLegend aLegend;
- if (mapLayout1.GetLegends().Count > 0)
- aLegend = mapLayout1.GetLegends()[0];
- else
- aLegend = mapLayout1.AddLegend(650, 100);
- aLegend.LegendStyle = LegendStyleEnum.Bar_Vertical;
- aLegend.LegendLayer = aLayer;
- if (tabControl1.SelectedIndex == 1)
- mapLayout1.PaintGraphics();
- }
|