请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10968|回复: 26

MeteoInfo二次开发教程(八)

[复制链接]

新浪微博达人勋

发表于 2012-8-18 21:21:07 | 显示全部楼层 |阅读模式

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

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

x
讲讲投影的功能。

因为投影的代码是从Proj4移植来的,投影之间的转换需要设置Proj4的投影字符串。比如Lambert Conformal投影表述为:
+proj=lcc   +lat_1=Latitude of first standard parallel
              +lat_2=Latitude of second standard parallel
              +lat_0=Latitude of false origin
              +lon_0=Longitude of false origin
              +x_0=False Origin Easting
              +y_0=False Origin Northing

具体的设置可以看Proj4的帮助文档,一些网页上也有描述,如: http://remotesensing.org/geotiff/proj_list/

MeteoInfo类库中对地图投影功能进行了封装,只需要用MapView类中的ProjectLayers(ProjectionInfo toProjInfo)即可。ProjectionInfo类可以由Proj4投影字符串来创建。在Demo程序中添加一个Lambert投影的菜单,加入如下代码,中心经度为110,双标准维度是30和60。
  1. private void TSMI_Lambert_Click(object sender, EventArgs e)
  2.         {
  3.             string ProjStr = "+proj=lcc" +
  4.                             "+lat_1=30" +
  5.                             "+lat_2=60" +
  6.                             "+lat_0=0" +
  7.                             "+lon_0=110" +
  8.                             "+x_0=0" +
  9.                             "+y_0=0";
  10.             ProjectionInfo aProjInfo = new ProjectionInfo(ProjStr);

  11.             layersLegend1.ActiveMapFrame.MapView.ProjectLayers(aProjInfo);
  12.         }
复制代码
Image00904.png

显示经纬度:
  1. private void TSMI_ShowLonLat_Click(object sender, EventArgs e)
  2.         {
  3.             TSMI_ShowLonLat.Checked = !TSMI_ShowLonLat.Checked;
  4.             layersLegend1.ActiveMapFrame.MapView.DrawGridLine = TSMI_ShowLonLat.Checked;
  5.             layersLegend1.ActiveMapFrame.MapView.PaintLayers();
  6.         }
复制代码
Image00905.png

返回经纬度投影:
  1. private void TSMI_Geographic_Click(object sender, EventArgs e)
  2.         {
  3.             ProjectionInfo aProjInfo = KnownCoordinateSystems.Geographic.World.WGS1984;
  4.             layersLegend1.ActiveMapFrame.MapView.ProjectLayers(aProjInfo);
  5.         }
复制代码
Image00906.png


本帖被以下淘专辑推荐:

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-8-18 22:17:02 | 显示全部楼层
沙发啦,楼主周末更新教程辛苦啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-19 05:22:23 | 显示全部楼层
楼主周末更新教程辛苦啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-19 12:02:24 | 显示全部楼层
王老师,您幸苦了~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-19 20:04:11 来自手机 | 显示全部楼层
楼主辛苦了,拜读了,非常ok
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-20 16:13:45 | 显示全部楼层
看的不太清楚
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-20 16:14:26 | 显示全部楼层
能把图放大吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-20 16:33:47 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-22 17:19:18 | 显示全部楼层
看看,学习学习下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-25 11:33:44 | 显示全部楼层
好好学习下,谢谢楼主,辛苦啦。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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