爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4925|回复: 10

关于C#调用meteoinfoC.dll 版本 1.1.3的问题

[复制链接]

新浪微博达人勋

发表于 2015-11-26 11:16:25 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
王老师,您好,关于最发现meteoinfo 升级到了1.1.3,尝试向将以前开发的程序也升级一下。可是我发现,调用绘制shape的时候,会报错。有时候又画不出来图像。有没有1.1.3画图的的demo啊。
从前程序基本流程就是定义一个 PointShape,再定义一下PointBreak,最后mapview1.GraphicCollection.add();就可以了。1.1.3后,同样的函数,运行了就没有显示,难道是不支持这种方式了吗?求教!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-26 11:42:35 | 显示全部楼层
C#版本很长时间没有更新了,你这么泛泛的提问我也没办法回答。你或者写一个能够反映出问题的简单的测试程序,我可以抽时间看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-30 15:54:33 | 显示全部楼层
感谢王老师,这是个测试代码!我在程序中加了一段没有注释掉的汉字,注释掉就可以执行。画线的函数就是没有结果输入,我发现,如果注释掉投影的那几行,就可以显示。麻烦您了!!

地理信息.rar

11.05 MB, 下载次数: 43, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-2 23:48:32 | 显示全部楼层
MeteoInfo 发表于 2015-11-26 11:42
C#版本很长时间没有更新了,你这么泛泛的提问我也没办法回答。你或者写一个能够反映出问题的简单的测试程序 ...

王老师您好,好久没用您的控件了,今天更新了最新的dll,发现以前写的程序出现了不少错误:
       (1)读micaps4类数据
                MICAPS4DataInfo aDataInfo = new MICAPS4DataInfo();
                aDataInfo.ReadDataInfo(openFileDialog.FileName);
                GridData rainTemp = aDataInfo.GetGridData();//错误 4 “MeteoInfoC.Data.MeteoData.MICAPS4DataInfo”不包含“GetGridData”的定义,并且找不到可接受类型为“MeteoInfoC.Data.MeteoData.MICAPS4DataInfo”的第一个参数的扩展方法“GetGridData”(是否缺少 using 指令或程序集引用?)
                GridData rain = rainTemp.Extract(119.1, 120.6, 30.28, 31.25);

       (2)读站点数据(用的您的)
        private void TSMI_StationModel_Click(object sender, EventArgs e)
        {
            //Create a MeteoDataInfo object
            MeteoDataInfo aDataInfo = new MeteoDataInfo();
            //Open SYNOP data file
            string aFile = Application.StartupPath + "\\Sample\\12010615.syn";
            string stFile = Application.StartupPath + "\\Sample\\SYNOP_Stations.csv";
            aDataInfo.OpenSYNOPData(aFile, stFile);
            //Create a legend scheme
            LegendScheme aLS = LegendManage.CreateSingleSymbolLegendScheme(ShapeTypes.Point, Color.Blue, 12);
            //Get station model data
            double[,] stationModelData = new double[10, 1];
            Extent aExtent = new Extent();
            stationModelData = aDataInfo.GetStationModelData(ref aExtent);//错误 1 “GetStationModelData”方法没有任何重载采用“1”个参数
            VectorLayer aLayer = new VectorLayer(ShapeTypes.Point);
            aLayer = DrawMeteoData.CreateStationModelLayer(stationModelData,
aDataInfo.MissingValue, aLS, "StationModel", true);//错误 3 参数 1: 无法从“double[*,*]”转换为“MeteoInfoC.Data.StationModelData”            
            //Add layer
            layersLegend1.ActiveMapFrame.AddLayer(aLayer);
            layersLegend1.Refresh();
            //Change title of the layout
            LayoutGraphic aTitle = mapLayout1.GetTexts()[0];
            aTitle.SetLabelText("MeteoInfo Class Library Demo - Station Model Layer");
        }

(3)
       private void TSB_LabelSet_Click(object sender, EventArgs e)
        {
            if (layersLegend1.SelectedNode == null)
                return;
            if (layersLegend1.SelectedNode.NodeType == NodeTypes.LayerNode)
            {
                LayerNode aLN = (LayerNode)layersLegend1.SelectedNode;
                MapLayer aMLayer = aLN.MapFrame.MapView.GetLayerFromHandle(aLN.LayerHandle);
                if (aMLayer.LayerType == LayerTypes.VectorLayer)
                {
                    VectorLayer aLayer = (VectorLayer)aMLayer;
                    if (aLayer.ShapeNum > 0)
                    {
                        frmLabelSet aFrmLabel = new frmLabelSet(layersLegend1.ActiveMapFrame.MapView);
                        aFrmLabel.TheLayer = aLayer;//错误 4 “MeteoInfoC.Layer.frmLabelSet”不包含“TheLayer”的定义,并且找不到可接受类型为“MeteoInfoC.Layer.frmLabelSet”的第一个参数的扩展方法“TheLayer”(是否缺少 using 指令或程序集引用?)
                        aFrmLabel.Show(this);
                    }
                }
            }
        }


请教王老师,这些地方如何修改?谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-3 16:24:31 | 显示全部楼层
wbriver 发表于 2015-12-2 23:48
王老师您好,好久没用您的控件了,今天更新了最新的dll,发现以前写的程序出现了不少错误:
       (1 ...

(1)GridData rainTemp = aDataInfo.GetGridData("var");

(2) stationModelData = aDataInfo.GetStationModelData();

(3)aFrmLabel.Layer = aLayer;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-3 23:57:42 | 显示全部楼层
MeteoInfo 发表于 2015-12-3 16:24
(1)GridData rainTemp = aDataInfo.GetGridData("var");

(2) stationModelData = aDataInfo.GetSt ...

谢谢王老师,问题大部分解决了,可是最新的控件按您的提示修改,还是有点错误,请教王老师如何修改?
        private void TSMI_StationModel_Click(object sender, EventArgs e)
        {
            //Create a MeteoDataInfo object
            MeteoDataInfo aDataInfo = new MeteoDataInfo();

            //Open SYNOP data file
            string aFile = Application.StartupPath + "\\Sample\\12010615.syn";
            string stFile = Application.StartupPath + "\\Sample\\SYNOP_Stations.csv";
            aDataInfo.OpenSYNOPData(aFile, stFile);

            //Create a legend scheme
            LegendScheme aLS = LegendManage.CreateSingleSymbolLegendScheme(ShapeTypes.Point, Color.Blue, 12);

            //Get station model data
            double[,] stationModelData = new double[10, 1];
            Extent aExtent = new Extent();
            stationModelData = aDataInfo.GetStationModelData();//错误1无法将类型“MeteoInfoC.Data.StationModelData”隐式转换为“double[*,*]”       

            VectorLayer aLayer = new VectorLayer(ShapeTypes.Point);
            aLayer = DrawMeteoData.CreateStationModelLayer(stationModelData,
                    aDataInfo.MissingValue, aLS, "StationModel", true);   //错误        2        与“MeteoInfoC.Data.MeteoData.DrawMeteoData.CreateStationModelLayer(MeteoInfoC.Data.StationModelData, double, MeteoInfoC.Legend.LegendScheme, string, bool)”最匹配的重载方法具有一些无效参数


错误        3        参数 1: 无法从“double[*,*]”转换为“MeteoInfoC.Data.StationModelData”



            //Add layer
            layersLegend1.ActiveMapFrame.AddLayer(aLayer);
            layersLegend1.Refresh();

            //Change title of the layout
            LayoutGraphic aTitle = mapLayout1.GetTexts()[0];
            aTitle.SetLabelText("MeteoInfo Class Library Demo - Station Model Layer");
        }

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-4 08:48:30 | 显示全部楼层
wbriver 发表于 2015-12-3 23:57
谢谢王老师,问题大部分解决了,可是最新的控件按您的提示修改,还是有点错误,请教王老师如何修改?
   ...

StationModelData stationModelData = aDataInfo.GetStationModelData();

建议你下载最新的MeteoInfo二次开发Demo程序,看看里面的源代码。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-4 14:27:55 | 显示全部楼层
MeteoInfo 发表于 2015-12-4 08:48
StationModelData stationModelData = aDataInfo.GetStationModelData();

建议你下载最新的MeteoInfo ...

恩,好的王老师~我的demo程序是这儿下的http://www.meteothinker.com/downloads/index.html,c#版本的“MeteoInfoDemo_2013-3-2.zip”的是最新的吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-4 21:21:49 | 显示全部楼层
wbriver 发表于 2015-12-4 14:27
恩,好的王老师~我的demo程序是这儿下的http://www.meteothinker.com/downloads/index.html,c#版本的“M ...

是的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-4 21:59:34 | 显示全部楼层

好的,谢谢王老师百忙中给我解答
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表