• 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.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 个点(G1L1)和(G2L2)在地图的顶部或者底部,左侧或者右侧,当然这取决于 direction 属性。 

    m_scale(250000);
    

    一个 1:250000 的地图比例尺,调用一个没有任何参数的 m_scale,就会计算和返回当前比例尺。

      


      

     

      

      

     

  • 相关阅读:
    【CSP模拟赛】益智游戏(最短路(DJSPFA)&拓扑排序)
    【CSP模拟赛】仔细的检查(树的重心&树hash)
    【CSP模拟赛】奇怪的队列(树状数组 &二分&贪心)
    【洛谷】P1275 魔板(暴力&思维)
    【CSP模拟赛】方程(数学)
    【洛谷】P3177 [HAOI2015]树上染色
    【洛谷】P3188 [HNOI2007]梦幻岛宝珠
    方法重载(一)
    找最大值
    java 冒泡排序
  • 原文地址:https://www.cnblogs.com/ruo-li-suo-yi/p/7663498.html
Copyright © 2020-2023  润新知