首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MATLAB工具包m_map最新版(2020)绘制中国地图

MATLAB工具包m_map最新版(2020)绘制中国地图

原创
作者头像
传愿
修改2020-03-30 11:38:37
5.8K3
修改2020-03-30 11:38:37
举报

简介

MATLAB2017版本更新后,新增了geobubble功能,强大的地理图绘制功能,也可以绘制地图。2020年2月,m_map 1.4m最新版发布,功能比较丰富,新增高清地形图绘制,google地图调用。主要新增如下功能:

增加了圆柱等面积投影;

  • 添加了m_ginput,以帮助鼠标点击选择区域;
  • 修正了m_mag2geo和m_geo2mag中在某些情况下导致错误工作的错误;
  • 添加m_northarrow以显示北向;
  • 添加了m_wind rose以在地图上显示风玫瑰图。

下载请点击。有详细说明文档。模仿GMT绘制一个中国底图。

绘制底图

废话不说。直接上代码了。哈哈。

%% 参数
ColW = [0.6784    0.8510    0.9020];    % 海水颜色
ColL = [1 1 1];                         % 窗口颜色
ColB = [.6 .6 .6];                      % 中国底图边界
ColBk1 = [0.9294    0.6902    0.1294];  % 板块边界1颜色
ColBk2 = [0.0588    1.0000    1.0000];  % 板块边界2颜色
Lat = [15 53];                          % 纬度范围
Lon = [75 132];                         % 经度范围


m_proj('lambert', 'lat', Lat, 'long', Lon,'rectbox', 'on'); % 投影初始化
set(gcf, 'color', ColL);                                    % 图窗背景为白色
m_gshhs_i('patch',ColL,'edgecolor','none');                 % 高清海岸线
m_grid('box','fancy','backcolor',...
    ColW,'xtick',10,'ytick',6,...
    'linewidth',1,'Fontsize',12);                           % 图框参数

边界与板块

%% 中国边界
s = [pwd '\mapData\chinamap.txt']; 
d = load(s);
x = d(:, 1);
y = d(:, 2);
m_line(x, y, 'color', ColB, 'LineWidth', 1.2);

%% 版块边界
bk2 = load([pwd '\mapData\areaBankuai\2.txt']);
m_line(bk2(:,1),bk2(:,2),'color',ColBk2,'LineWidth',1.5);

bk1 = load([pwd '\mapData\areaBankuai\1.txt']);
m_line(bk1(:,1),bk1(:,2),'color',ColBk1,'LineWidth',1.5);
中国底图带板块边界
中国底图带板块边界

绘制最新地震

用之前写的爬虫代码。爬虫下载中国地震台网最新地震只需要2秒左右。下载代码以后有时间再写一篇爬虫文章。

%% 画地震
str = 'D:\EqCatlog\CEIC_30d.EQT';
OpenEqt % 自定义函数
[~, T1] = DiscussFindTime(DataCell{7});
T0y = num2str(str2num(T1(1:4))-2);
T0 = [T0y '0101'];
EqT = DataCell{7};        % 时间
T_1 = datestr(datenum(T1,'yyyymmdd') ,'yyyymmdd');
T_2 = datestr(datenum(T1,'yyyymmdd') - 3 ,'yyyymmdd');
T_3 = datestr(datenum(T1,'yyyymmdd') - 7 ,'yyyymmdd');
color1 = [.2 .8 .1];
color2 = [.2 0 1];
color3 = [1 0 0];

xmin = Lon(1);
xmax = Lon(2);
ymin = Lat(1);
ymax = Lat(2);

MMplot(T0,T1,DataCell,color1,xmin,xmax,ymin,ymax,'1',0);   % 30天
MMplot(T_3,T_1,DataCell,color2,xmin,xmax,ymin,ymax,'1',0); % 15天
MMplot(T_2,T_1,DataCell,color3,xmin,xmax,ymin,ymax,'2',0); % 7天

%% ...以下代码省略
空间分布
空间分布

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 绘制底图
  • 边界与板块
  • 绘制最新地震
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档