爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4419|回复: 9

新版Meteoinfo类库 开发问题

[复制链接]

新浪微博达人勋

发表于 2012-3-22 15:41:13 | 显示全部楼层 |阅读模式

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

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

x
        王老,最近对新版的Meteoinfo文件想试试开发,但遇到一个关联的问题。我想问问用新版的Meteoinfo类库开发,那个MapLayout 和 LayersLegend这么关联起来啊?MapLayout中怎么添加那个MapView呢?以前旧的版本都是直接给MapLayout的MapView赋值成mapview1就行了,但是现在虽然增加了MapFrame,但是仍然不知道怎么添加~~~请王老给予回复~~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-3-22 19:01:08 | 显示全部楼层
最新版的LayersLegend添加了MapLayout属性,把创建的MapLayout对象赋给它就行了。

注意,我说的是最新版!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-3-22 19:36:37 | 显示全部楼层
恩~谢谢王老~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-3-22 21:27:40 | 显示全部楼层

1.png

王老,还有一个问题一直想请教您,就是开发那个NC数据绘图时,如果那个NC数据是局部数据,比如说只是某一个省区域数据的时候,怎么绘制出图对应到地图中的该区域中去(如图用的是MetoInfo绘制的甘肃一个地区的LU指数分布)?我试了试Demo中的新类库开发,但是绘制出来的时候始终不能对应到那个相应的地区去。希望王老能给予解答~~~谢谢~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-3-23 10:38:33 | 显示全部楼层
♂雨已~○ 发表于 2012-3-22 21:27
王老,还有一个问题一直想请教您,就是开发那个NC数据绘图时,如果那个NC数据是局部数据,比如说只是 ...

你提供的信息太少,数据的特征是什么?你怎么写的代码?等等
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-3-23 11:11:43 | 显示全部楼层
MeteoInfo 发表于 2012-3-23 10:38
你提供的信息太少,数据的特征是什么?你怎么写的代码?等等

我读取NC的代码就是按照girdData的方法来的,这个nc数据是 0.5分辨率的一个甘肃省区域wrf模式的模拟数据,读取代码是按照demo的示例来写的。

     NetCDFDataInfo aDataInfo = new NetCDFDataInfo();
            string aFile = Application.StartupPath + "\\Sample\\1.nc";
            aDataInfo.ReadDataInfo(aFile);

            GridData gridData = aDataInfo.GetGridData_LonLat(1, 1, 0);  // 这个是对第一个变量LU指数的第一个层次绘制的
            bool hasNoData = true;
            LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(gridData, LegendType.UniqueValue,
                ShapeTypes.Polyline, ref hasNoData);
            VectorLayer aLayer = new VectorLayer(ShapeTypes.Polyline);
            aLayer = DrawMeteoData.CreateContourLayer(gridData, aLS, "NetCDF");
            aLayer.IsMaskout = true;
            int aLayerHandle = G_LayerLegend.MapFrames[0].AddLayer(aLayer,0);


按照这样的方法绘制不能对应到相应的地区去~~~~请王老看看~~~谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-3-23 14:05:04 | 显示全部楼层
MeteoInfo 发表于 2012-3-22 19:01
最新版的LayersLegend添加了MapLayout属性,把创建的MapLayout对象赋给它就行了。

注意,我说的是最新版 ...

这个NC数据是甘肃省区域的一个wrf模拟的0.5分辨率的数据,然后我用的是您的Demo程序的方法写的绘制nc图,代码如下:
NetCDFDataInfo aDataInfo = new NetCDFDataInfo();
            string aFile = Application.StartupPath + "\\Sample\\1.nc";
            aDataInfo.ReadDataInfo(aFile);

            GridData gridData = aDataInfo.GetGridData_LonLat(1, 1, 0);  //这个就是那个LU指数的绘制
            bool hasNoData = true;
            LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(gridData, LegendType.UniqueValue,
                ShapeTypes.Polyline, ref hasNoData);
            VectorLayer aLayer = new VectorLayer(ShapeTypes.Polyline);
            aLayer = DrawMeteoData.CreateContourLayer(gridData, aLS, "NetCDF");
            aLayer.IsMaskout = true;
            int aLayerHandle = G_LayerLegend.MapFrames[0].AddLayer(aLayer,0);

我用上面的方法不能对应到相应的区域里面去,用王老您的Meteoinfo就能对应过去,这种情况应该怎么处理呢?,希望王老,给予帮助,谢谢~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-3-24 16:41:04 | 显示全部楼层
MeteoInfo 发表于 2012-3-23 10:38
你提供的信息太少,数据的特征是什么?你怎么写的代码?等等

这个NC数据是甘肃省区域的一个wrf模拟的0.5分辨率的数据,然后我用的是您的Demo程序的方法写的绘制nc图,代码如下:
NetCDFDataInfo aDataInfo = new NetCDFDataInfo();
            string aFile = Application.StartupPath + "\\Sample\\1.nc";
            aDataInfo.ReadDataInfo(aFile);

            GridData gridData = aDataInfo.GetGridData_LonLat(1, 1, 0);  //这个就是那个LU指数的绘制
            bool hasNoData = true;
            LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(gridData, LegendType.UniqueValue,
                ShapeTypes.Polyline, ref hasNoData);
            VectorLayer aLayer = new VectorLayer(ShapeTypes.Polyline);
            aLayer = DrawMeteoData.CreateContourLayer(gridData, aLS, "NetCDF");
            aLayer.IsMaskout = true;
            int aLayerHandle = G_LayerLegend.MapFrames[0].AddLayer(aLayer,0);

我用上面的方法不能对应到相应的区域里面去,用王老您的Meteoinfo就能对应过去,这种情况应该怎么处理呢?,希望王老,给予帮助,谢谢~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-15 15:56:10 | 显示全部楼层
请问您的问题解决了吗,我也越到了相同的问题,现在还没有解决,求帮助!
您的代码可以发出来共享一下吗,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-15 17:11:40 | 显示全部楼层
danshenyazi 发表于 2014-7-15 15:56
请问您的问题解决了吗,我也越到了相同的问题,现在还没有解决,求帮助!
您的代码可以发出来共享一下吗, ...

可能是投影的问题,VectorLayer生成后要赋给它相应的投影信息。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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