m_map绘制多波束数据-程序员宅基地

技术标签: matlab  M_Map  绘图  Matlab  

之前,分享了m_map如何绘制本地高程数据:m_map导入本地地形数据

其实,m_map还可以绘制多波束测深数据。

1. 多波束网站

多波束测深数据可以从https://www.ncei.noaa.gov/maps/grid-extract/或者https://www.ncei.noaa.gov/maps/bathymetry/下载。
多波束测深数据的分辨率为3秒,约为90 m 。

在这里插入图片描述
在这里插入图片描述

2. 绘图

以纽约以东的一片海域为例。

  • 这是原始的多波束数据,里面无有效数据处,被填充为0值,显示如下:

在这里插入图片描述

  • 将0值替换为NaN值,即显示为空白,显示如下:

在这里插入图片描述

  • 将m_map自带的1分的分辨率地形图,融合到多波束数据中,显示如下:

在这里插入图片描述

  • 显示带有海山的区域:
    在这里插入图片描述

注:绘图色标参考自:https://blog.csdn.net/slandarer/article/details/127719784

3. 代码

mat_name='newyork';
fignum=1

load([mat_name,'_elevation.mat'])
elev=flipud(elev);

% 将0值替换为NaN
% elev(find(elev==0))=nan;

lonlim=[extent(1:2)]
latlim=[extent(3:4)]
[nlat,nlon]=size(elev);
Lon=[linspace(lonlim(1),lonlim(2),nlon)];
Lat=[linspace(latlim(1),latlim(2),nlat)]';


%% 高程数据融合
% 在多波束数据无数据(标志为0处,替换为自带的1分高程数据)
% 首先提取1分的高程数据

[ELEV,LON,LAT]=m_etopo2([lonlim(1)-1 lonlim(2)+1 latlim(1)-1,latlim(2)+1]);
[Lon,Lat]=meshgrid(Lon,Lat);
% 将1分数据插值为和多波束数据同样的大小
ELEV_p=interp2(LON,LAT,ELEV,Lon,Lat);

for i=1:nlat
    for j=1:nlon
        if elev(i,j)==0
            elev(i,j)=ELEV_p(i,j);
        end
    end
end

%% 绘图

m_proj('mercator','long',[-67 lonlim(2) ],'lat',[38.5,latlim(2)]);

caxis([-5000 0])
colormap(slanCM('rainbow')) 
hc=colorbar;
set(get(hc,'title'),'string','Elevation(m)')
set(hc,'tickdir','out')

m_shadedrelief(Lon(1,:),Lat(:,1),elev,'lightangle',45,'gradient',10) 

m_gshhs('ic','color','k')
m_grid('box','on','tickdir','out','gridlines','no')

set(gcf,'position',[10 10 400 400])

figname=[mat_name,num2str(fignum)];
print('-dpng','-r500',[figname,'.png'])  % 导出png图片
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39509073/article/details/134909517

智能推荐

12张手绘图,终于搞懂了微服务架构_一张图搞懂微服务家属-程序员宅基地

文章浏览阅读441次。微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。今天我们通过一组手绘图来梳理下微服务的核心架构。什么是微服务?微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下:就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definiti..._一张图搞懂微服务家属

C++ Primer 3.5.4 C风格字符串 3.5.5 与旧代码接口 知识点总结 课后题重点-程序员宅基地

文章浏览阅读493次,点赞11次,收藏7次。2.尽量使用vector和迭代器,不容易出错。

基于STM32单片机智能语音识别按键温控风扇人体感应设计21-694-程序员宅基地

文章浏览阅读168次。21-694、STM32智能风扇系统设计-拨动-KEY-风扇-语音识别-DS18B20-E18-LED产品功能描述:本设计由STM32F103C8T6单片机核心板电路+拨动开关电路+按键电路+风扇控制电路+语音识别模块电路+DS18B20温度检测电路+红外避障传感器电路+LED指示灯电路组成。1、通过拨动开关选择系统工作模式。2、手动模式:通过按键或者语音识别可以控制风扇的开关和转速。3、自动模式:根据温度的大小进行控制风扇的转动速度,自动调节pwm。此模式下有2个红外避障传感器分别左右依次排开,分别记为E

Unity 发布webgl 通过IP端口访问无限制,布置IIS_unity webgl 设置指定端口-程序员宅基地

文章浏览阅读602次。首先电脑开启IIS权限,自行百度,此处不做赘述打开IIS,右键添加网站2.输入网站名称(随便输入即可)、物理路径(项目工程文件所在位置,安全情况下可以范围大一些)、端口(一般8080之类的就可以)3.双击MIME,点击右上角添加4.添加两个,一个是.unity3d,类型为application/octet-stream一个是.unityweb,类型为application/binary另外可根据自己需要增加,类似.json,等等。添加完成后如下图所示5.输入自己主机的IP地址+:_unity webgl 设置指定端口

Oracle AWR(演变过程)_oracle awr 什么时候诞生-程序员宅基地

文章浏览阅读1.1k次。Oracle AWR 2010-04-15 06:16:06| 分类:Oracle|字号 订阅Oracle AWR 转自:http://blog.csdn.net/hxf0759/archive/2009/05/15/4189275.aspx一、WHY——为什么会出现ASH和AWR?1. 10g之前用户的连接将产生会话,当前会话记录保存_oracle awr 什么时候诞生

基于javaweb+mysql的jsp+servlet电影票售票管理系统(java+jsp+servlet+javabean+mysql)_【java+jsp+mysql】订票系统-程序员宅基地

文章浏览阅读192次。基于javaweb+mysql的jsp+servlet电影票售票管理系统(java+jsp+servlet+javabean+mysql)运行环境Java≥8、MySQL≥5.7、Tomcat≥8开发工具eclipse/idea/myeclipse/sts等均可配置运行适用课程设计,大作业,毕业设计,项目练习,学习演示等功能说明后台:管理用户、影片、排片、影厅、订单、影评等前台:注册登录、查看排片、详情,选座、购票等后台前台技术框架JSP Servlet MySQL C3P0 DBUtil Tomcat J_【java+jsp+mysql】订票系统

随便推点

ckeditor vue2_Ckeditor用于Vue.js 2-程序员宅基地

文章浏览阅读971次。ckeditor vue2 维克迪克特 (vue-ckeditor)Ckeditor using for Vue.js 2. Ckeditor用于Vue.js 2。 要求 (Requirements)Ckeditor >= 4Ckeditor > = 4 Vue.js >= 2Vue.js > = 2 安装 (Install) CDN (CDN)<sc..._ckeditor2 git

安装Vmware Tools时,显示安装程序无法自动安装VMCI,需要手动安装_win8 安装vmware16提示手动安装vmci-程序员宅基地

文章浏览阅读8.1k次,点赞9次,收藏23次。V16 vmare装Win7的虚拟机碰到的问题解决方法:https://kb.vmware.com/s/article/78708看这个官方文档,装了2个WIN7更新就ok了。安装这两个更新后,重启,再次安装Vmware Tools就成功了特此记录一下_win8 安装vmware16提示手动安装vmci

二叉树、平衡二叉树、完全二叉树、满二叉树_平衡二叉树和完全二叉树的区别-程序员宅基地

文章浏览阅读9.4w次,点赞15次,收藏106次。基本概念结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。 二叉树在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在_平衡二叉树和完全二叉树的区别

音频深度学习变得简单:自动语音识别 (ASR),它是如何工作的_asr语音识别-程序员宅基地

文章浏览阅读4k次,点赞2次,收藏12次。在本文中,我将重点介绍使用深度学习进行语音转文本的核心功能。我的目标不仅是了解某件事是如何工作的,而且是了解它为什么会这样工作。_asr语音识别

23种常见设计模式总结(类图,优缺点,不同设计模式之间的对比)_设计模式工厂模式的类图-程序员宅基地

文章浏览阅读1w次,点赞12次,收藏104次。设计模式的几个重要原则单一职责原则开闭原则依赖倒转原则里氏代换原则合成聚合复用原则:尽量使用组合/聚合代替继承迪米特原则:降低耦合性设计模式 类图 优点 缺点..._设计模式工厂模式的类图

pandas创建DataFrame的几种方式(建议收藏)_pandas新建一个dataframe-程序员宅基地

文章浏览阅读3.9w次,点赞25次,收藏148次。pandas创建DataFrame的几种方式如果你是一个pandas初学者,那么不知道你会不会像我一样。在学用列表或者数组创建DataFrame时理不清怎样用数据生成以及想要形状的的Dataframe,那么,现在,你不用自己琢磨了,我这里给你整理了一下,现在我们就来看看这三种生成Dataframe的方式。1.用传入列表或者数组创建DataFrame采用列表创建DataFramenums = [[i for i in range(3)] for _ in range(10)]numscol_pandas新建一个dataframe

推荐文章

热门文章

相关标签