爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4500|回复: 6

[程序设计] 在兰伯特投影下,如何求经纬度对应的格点位置

[复制链接]

新浪微博达人勋

发表于 2022-10-16 20:49:14 | 显示全部楼层 |阅读模式

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

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

x
WRF模式用的投影方式是兰伯特投影,现在想求经纬度对应的格点位置。
软件matlab,格点数287*231,格距20km,模拟的中心37N,107E,现在想求40N,120E在等格距网格上的直角坐标位置,希望哪位大神能够给予帮助,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-10-17 20:43:39 | 显示全部楼层
mstr = defaultm("lambert");
mstr.mapparallels=[25 47];
mstr.origin=[37,107,0];
mstr.geoid = [6370000, 0];
mstr = defaultm(mstr);
[x, y] = projfwd(mstr, 40, 120);
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-10-17 22:33:00 | 显示全部楼层
学习渣渣 发表于 2022-10-17 20:43
mstr = defaultm("lambert");
mstr.mapparallels=[25 47];
mstr.origin=[37,107,0];

大神您好!
   我复制你的代码,运行后显示如下错误:

错误使用 mstruct2gtif (line 31)
The map projection 'lambert' is not supported by GeoTIFF and cannot be used with functions PROJFWD or PROJINV.

出错 proj2gtif (line 22)
    gtif = mstruct2gtif(proj);

出错 projaccess (line 40)
gtif  = proj2gtif(proj);

出错 projfwd (line 60)
[x,y] = projaccess('fwd', proj, lat, lon);

出错 turn (line 7)
[x, y] = projfwd(mstr, 40, 120);

1、请问是有什么问题吗?我也是最近才用,在命令行一行一行输入,实在最后一步[x, y] = projfwd(mstr, 40, 120);出错的,但是我help projfwd 是可以出来命令的。
2、 请问mstr.mapparallels=[25 47];命令的作用是什么?
3、我的格点网距是20km,在这里如何体现?难道需要xread一个wrfout数据吗?
以上是我本人的困惑,希望您不吝指导,非常感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-10-18 15:36:15 | 显示全部楼层
269772539 发表于 2022-10-17 22:33
大神您好!
   我复制你的代码,运行后显示如下错误:

这个是matlab官方 mapping 工具箱的函数,不同版本有更新,你的可能不是最新版的。
mapparallels 是 lambert 投影的相交纬度,在 WRF 里应该是有设置这个的。根据WRF的namelist进行修改就可以。这里我大概设置为中国地图所使用的相交经纬度。
20km经纬度并没有体现在代码里,x,y 算出来的是当前投影下,某一个经纬度点的坐标。需要知道对应的网格根据坐标简单计算一下就可以了。
——————————————————————————
by the way,WRF会有geo_em文件,里面已经包含了domain 的经纬度坐标信息,完全可以不用自己算。
以及如果只需要研究 lambert投影的经纬度和坐标转换,可以查查别人的算法,也应该会有现成的程序。并非一定要使用官方的 projfwd & projinv。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-10-18 19:34:56 | 显示全部楼层
学习渣渣 发表于 2022-10-18 15:36
这个是matlab官方 mapping 工具箱的函数,不同版本有更新,你的可能不是最新版的。
mapparallels 是 lam ...

您好!感谢你的回复,请问一下您这能发一下最新的mapping函数库吗?另外,你这有其他相应的计算程序吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-10-19 14:02:08 | 显示全部楼层
269772539 发表于 2022-10-18 19:34
您好!感谢你的回复,请问一下您这能发一下最新的mapping函数库吗?另外,你这有其他相应的计算程序吗?

你装个最新版的matlab就好了,库之间有依赖我不确定单独发的行不行。
http://bbs.06climate.com/forum.p ... 188&fromuid=904
你看看他的工具包能不能用,或者m_map工具箱也许会有?其实我没搞过这些不太清楚哈 sorry
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-10-21 10:46:06 | 显示全部楼层
学习渣渣 发表于 2022-10-19 14:02
你装个最新版的matlab就好了,库之间有依赖我不确定单独发的行不行。
http://bbs.06climate.com/forum.p ...

谢谢,已下载,有部分问题不明白。正在调试中
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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