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,就會計算和返回當前比例尺。

  


  

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM