MATLAB——m_map指南(1)
1、例图
(1)
clear all
m_proj('oblique mercator');%确定投影方式和绘图界线
m_coast;%画出海岸线
m_grid;%添加格网

第一行代码初始化投影,对于每一种投影都有设定的默认值,所以你可以很容易看出某一种特点的投影的样子,所有的投影都有一系列可选的参数, 如果不使用默认值,可以更改,随后详细讲。
m_proj get

m_grid get

(2)
clear all
%m_proj('oblique mercator');%确定投影方式和绘图界线
m_proj('oblique mercator','longitudes',[-140 -120],'latitudes',[60 35],...
'direction','vertical','aspect',.5)
m_coast;%画出海岸线
m_grid;%添加格网
m_proj get


(3)
m_coast('linewidth',2,'color','r');%可以画出一个更宽的红色的海岸线。

(4)
m_coast('patch',[1 1 0],'edgecolor','r');%填充海岸线

(5)
[X,Y]=m_ll2xy(-129,48.5);%m_112xy(以及它的逆 m_xy112)的功能是将经纬度坐标转换为它对应的投影坐标(投
%影坐标转换成经纬度坐标)
line(X,Y,'marker','square','markersize',4,'color','r');
text(X,Y,' M5','vertical','top');%将M5标在图中

m_line(-129,48.5,'marker','*','markersize',4,'color','r');
m_text(-129,48.5,' M5','vertical','top');%不用转换为x,y坐标

(6)
clear all
m_proj('oblique mercator');%确定投影方式和绘图界线
clf
m_coast('patch',[.7 .7 .7],'edgecolor','g');
m_grid('xlabeldir','end','fontsize',10);%更改网格的形式 m_line(-129,48.5,'marker','*','markersize',4,'color','r');
m_text(-129,48.5,' M5','vertical','top');%添加符号

2、指定投影
(1)19个投影
>> m_proj('set')
Available projections are:
Stereographic
Orthographic
Azimuthal Equal-area
Azimuthal Equidistant
Gnomonic
Satellite
Albers Equal-Area Conic
Lambert Conformal Conic
Mercator
Miller Cylindrical
Equidistant Cylindrical
Oblique Mercator
Transverse Mercator
Sinusoidal
Gall-Peters
Hammer-Aitoff
Mollweide
Robinson
UTM
某个投影的细节
clear all
j=1;
proj={};
proj{1}='Stereographic';proj{2}='Orthographic';proj{3}='Azimuthal Equal-area';
proj{4}='Azimuthal Equidistant';proj{5}='Gnomonic';proj{6}='Satellite';
proj{7}='Albers Equal-Area Conic';proj{8}='Lambert Conformal Conic';proj{9}='Mercator';
proj{10}='Miller Cylindrical';proj{11}='Equidistant Cylindrical';proj{12}='Oblique Mercator';
proj{13}='Transverse Mercator';proj{14}='Sinusoidal';proj{15}='Gall-Peters';
proj{16}='Hammer-Aitoff';proj{17}='Mollweide';proj{18}='Robinson';
proj{19}='UTM';%19个投影 m_proj(proj{1});%确定投影方式和绘图界线
m_coast;%画出海岸线

m_grid;%网格

(2)投影细节
>> m_proj('set', 'Stereographic');%初始化投影
'Stereographic'
<,'lon<gitude>',center_long>
<,'lat<itude>', center_lat>
<,'rad<ius>', ( degrees | [longitude latitude] ) | 'alt<itude>', alt_frac >
<,'rec<tbox>', ( 'on' | 'off' | 'circle' )>
<,'rot<angle>', degrees CCW>
>> m_proj get%投影细节
Current mapping parameters -
Projection: Stereographic (function: mp_azim)
center longitude: 0 %中心经线
center latitude: 60 %中心纬线
radius/altitude : 90 %90度代表半球
Rectangular border: circle %圆形边界
Rotation angle: 0 %旋转角度,使中央经线不垂直
(3)方位投影(球状投影)
2. 3.1
<,'lon<gitude>',center_long>
<,'lat<itude>', center_lat>
这两个参数是定义地图的中心点,地图都是被校正了的,中央经线是垂直的,北端点在中心点上。
<,'rad<ius>', ( degrees | [longitude latitude] )>
这个参数定义地图的范围,或者指定以度为单位的角距离(例如 90 度代表的是一个半球),或者指定边界上的一个点的坐标。
<,'rec<tbox>', ( 'on' | 'off' | 'circle' )>、
默认的是一个闭合的地图,圆形边界,但是也可以指定矩形边界,然而矩形边界的地图通常使用圆柱投影或者圆锥投影。
<,'rot<angle>', degrees CCW>
旋转图片使中央经线不垂直。
<,'alt<itude>', altitude_fraction >
卫星投影时这个属性值代表的是以地球半径为单位的视点高度,如一个卫星在 3 倍地球半径的高度,则指定高度值为 2
2.3.2 更改参数,不同展示
m_proj('Stereographic','longitudes',110,'latitudes',35,'radius',90,'rec','circle','rot',0)
m_coast;%画出海岸线
m_grid;

m_proj('Stereographic','longitudes',110,'latitudes',0,'radius',90,'rec','circle','rot',0)
m_coast;%画出海岸线
m_grid;

正数是东经和北纬,负数是西经和南纬
m_proj('Stereographic','longitudes',110,'latitudes',-35,'radius',90,'rec','circle','rot',0)
m_coast;%画出海岸线
m_grid

放大后的中国地图范围
m_proj('Stereographic','longitudes',110,'latitudes',35,'radius',30,'rec','circle','rot',0)
m_coast;%画出海岸线
m_grid;

(4)圆柱投影或者伪圆柱投影 (正常世界地图式的矩形边界投影)
<,'lon<gitude>',( [min max] | center)>
<,'lat<itude>', ( maxlat | [min max])>
或者定义精度范围,或者定义中央经线 ,北纬或者南纬的范围经常设为一样的,可以用一个值来指定,但是如果需要,也可以指定不同的值。
<,'lon<gitude>',[ G1 G2 ]>
<,'lat<itude>', [ L1 L2 ]>
两个点确定一个圆,也确定了地图的边界,这 2 个点(G1, L1)和(G2, L2)在地图的顶部或者底部,左侧或者右侧,当然这取决于 direction 属性。
m_scale(250000);
一个 1:250000 的地图比例尺,调用一个没有任何参数的 m_scale,就会计算和返回当前比例尺。
MATLAB——m_map指南(1)的更多相关文章
- Matlab——m_map指南(3)——实例
m_map 实例 1. clear all m_proj('ortho','lat', 48,'long',-123');%投影方式,范围 m_coast('patch','r');%红色填充 m_g ...
- Matlab——m_map指南(2)
3.海岸线和深度测量 3.1.1 海岸线选项 m_coast('line', ...optional line arguments ); m_coast('line', ...optional lin ...
- Matlab——m_map指南(4)——实例
1. 全球/地区温度图 (1)读取数据 clear all setup_nctoolbox %调用工具包 tic %计时 %% nc=ncgeodataset('tmpsfc.gdas.199401. ...
- matlab添加M_map工具箱(转 http://blog.sina.com.cn/s/blog_491b86bf0100srt9.html)
之前转载过matlab画世界地图的博文.最近正好用到.首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱.如下图. 略查阅了些资料,请教了Liangjing,一致推荐m_ ...
- MATLAB 地图工具箱 m_map 的安装和入门技巧(转)
reference: http://blog.sina.com.cn/s/blog_8fc890a20102v6pm.html 需要用一些地图工具,arcgis懒得装了,GMT(generic m ...
- (转)JAVA 调用matlab
本文仅用于学习. 原文地址链接:http://blog.csdn.net/wannshan/article/details/5907877 前段时间摸索了java调用matlab东西,不说学的有多深, ...
- MATLAB 中gcf、gca 以及gco 的区别
MATLAB 中gcf.gca 以及gco 的区别gcf 返回当前Figure 对象的句柄值gca 返回当前axes 对象的句柄值gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意 ...
- MATLAB 编程风格指南及注意事项
MATLAB编程风格指南Richard Johnson 著Genial 译MATLAB 编程风格指南Richard JohnsonVersion 1.5,Oct. 2002版权: Datatool 所 ...
- matlab利用m_map工具包画中国地图及散点云图
开始之前需要准备好malab,中国地图shp文件,m_map工具包. 中国地图shp文件可以在下面的链接中下载: https://gadm.org/download_country_v3.html 本 ...
随机推荐
- 前端Bug解决方案
没错!我正在写bug呢!不管你是小白还是大牛,写bug无可避免,遇到bug怎么办?别慌!毛主席教导我们"战略上藐视BUG,战术上重视BUG"!前端遇到的bug无非就三个方面结构层( ...
- Swfit 属性与汇编分析inout本质
今天将讲述Swift属性以及剖析inout的本质, 如有兴趣可点击关注,以后会定期更新更有料的博客!!! 一.属性 Swift中跟实例相关的属性可以分为2大类 存储属性(Stored property ...
- 使用openxml提取word中的文本和图片并转为Html
使用openxml提取word中的文本和图片 使用 openXml 提取 word 中的 Text 和 Drawing 使用 openXml 将 word 中的文本和图片转为Html 使用 openX ...
- iOS 17个常用代码整理
.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @" ...
- 3DGIS与BIM集成集成技术及铁路桥梁可视化系统
3DGIS与BIM的集成技术 3DGIS与BIM的集成技术包括2部分:一是将Revit软件生成的BIM针对3DGIS的快速无损格式转换,这种转换包括几何信息(如形状.位置等信息)和属性信息(如建筑信息 ...
- 手写Promise原理
我的promise能实现什么? 1:解决回调地狱,实现异步 2:可以链式调用,可以嵌套调用 3:有等待态到成功态的方法,有等待态到失败态的方法 4:可以衍生出周边的方法,如Promise.resolv ...
- yolo3各部分代码详解(超详细)
0.摘要 最近一段时间在学习yolo3,看了很多博客,理解了一些理论知识,但是学起来还是有些吃力,之后看了源码,才有了更进一步的理解.在这里,我不在赘述网络方面的代码,网络方面的代码比较容易理解,下面 ...
- 「从零单排HBase 05」核心特性region split
HBase拥有出色的扩展性,其中最依赖的就是region的自动split机制. 1.split触发时机与策略 前面我们已经知道了,数据写入过程中,需要先写memstore,然后memstore满了以后 ...
- Ubuntu 16 编译装python2.7
Ubuntu 16自带 python3 ,有很多库无法使用,决定装 python2.7 试了试,好像 apt-get 装不上. 使用源码,编译安装. wget https://www.python.o ...
- Swift 4.0 数组(Array)之过滤器(filter)的使用
我们先来定义一个常量整型数组 let array = [5, 4, 3, 1, 2] 过滤器(filter)使用之筛选出大于3的值 let resultArray = array.filter { ( ...