码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • matlab实现对极地投影数据的投影转换


    图片摘要

    前段时间,我写了一个专栏《联合matlab和Arcgis进行netcdf格式的雪覆盖数据的重新投影栅格》,介绍了如何利用Arcgis实现极地投影的转换。今天,我提供一个matlab重采样的方法实现投影转换。

    我们这次使用的数据是北冰洋逐日的海平面高度数据。但是我们发现其是极地投影,非常不利用后续的计算分析。我也在arcgis中尝试过,但是数据存在的区域远远大于实际合理的经纬度范围。如下图。真实际的范围应该是与中间的圆形边界相切。

    于是,在matlab中,我们可以首先读取数据,然后得到内部相切的圆形区域。

    1. file = ('dt_arctic_multimission_v1.1_sea_level_20160701_20190429.nc');
    2. ncdisp(file)
    3. lon = ncread(file,'longitude');
    4. lat = ncread(file,'latitude');
    5. sla1 = ncread(file,'sla');
    6. time = ncread(file,'time');
    7. P.lon = lon;P.lat = lat;
    8. P.rg = sla1(:,:,1);
    9. imagesc(P.rg)
    10. %% time convert
    11. dt = datetime((time)*24*3600, 'ConvertFrom', 'epochtime', 'Epoch', '1950-01-01');
    12. [y,m,d] = ymd(dt);
    13. xv = -179.8358:0.25:179.8358;
    14. yv = 50.0012:0.25:89.8417;
    15. [xv1,yv1] = meshgrid(xv,yv);
    16. lon1 = lon(186:535,186:535);
    17. lat1 = lat(186:535,186:535);
    18. lat1(lat1>1000)=0;
    19. lon1(lon1>1000)=0;
    20. xx = reshape(lon1,350*350,1);
    21. yy = reshape(lat1,350*350,1);

    接下来是采用内插的方法,得到规则化格网对应的数据。

    1. N = sla1(:,:,1);
    2. N(N>1000)=0;
    3. %% 得到与圆形边界相切的区域
    4. N1 = N(186:535,186:535);
    5. zz = reshape(N1,350*350,1);
    6. out = [xx,yy,zz];
    7. ind = find(out(:,1)==0);
    8. %% 将没有意义的经纬度格网赋值为0
    9. out(ind,:)=[];
    10. out = double(out);
    11. %% 内插处理
    12. fxy = scatteredInterpolant(out(:,1),out(:,2),out(:,3),'natural');
    13. sla(:,:,i) = fxy(xv1,yv1);

    将上述极地投影数据转换得到的重采样的结果

    欢迎交流学习!

  • 相关阅读:
    【Nuxt】04 Nuxt2-SEO: sitemap.xml、seo优化、robots.txt
    MySQL——连接查询与子查询
    Java 基础高频面试题(2022年最新版)
    JWFD开源工作流矩阵引擎测试版本BUG20231022修正代码
    【剑指Offer】28.对称的二叉树
    1.9 - Cache
    html 隐藏广告代码,Javascript实现关闭广告实现删除广告的效果
    LINUX入门篇【6】----第一个LINUX小程序---进度条及相关知识讲解
    sdkman 安装以及 graalvm安装
    c语言求三角形的面积
  • 原文地址:https://blog.csdn.net/weixin_43047707/article/details/133754815
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号