matlab工具箱m-map,MATLAB 地圖工具箱 m_map 的安裝和入門技巧(轉)

需要用一些地圖工具,arcgis懶得裝了,GMT(generic mapping tools)太復雜,因此搜到了m_map, 正好是MATLAB的工具箱。於是研究了一晚上。

一、m_map 工具箱的安裝

https://www.eoas.ubc.ca/~rich/map.html (若打不開鏈接,需要逐級訪問)

以上網址是m_map工具箱的網站,找到m_map工具箱文件下下來,一共不到700k。名字叫

gzipped tar-file , or

zip archive 下其中一個即可。(目前最新為1.4版本)

方法1

解壓,得到 m_map文件夾,把他放到你的MATLAB安裝目錄下, 即放在(MATLAB裝在其他盤的請將C改為其他盤符): C:Program Files\MATLAB\R2012b\toolbox\m_map

然后打開 C:Program Files\MATLAB\R2012b\toolbox\local\pathdef.m   (如果有權限問題,一般是win7且MATLAB裝在C盤會出現權限問題,那就在開始菜單找到記事本,右鍵,管理員運行,然后打開pathdef.m 文件)

將下面一句話加到 %%% BEGIN ENTRIES %%% 下面

matlabroot,'\toolbox\m_map', ...

最后,打開MATLAB,輸入 rehash

toolboxcache,

到此就安裝好了m_map.

但是我測試了一下,把MATLAB關了重開,由於C盤有權限,MATLAB訪問toolbox文件夾有限,於是安裝不成功,但是如果你的MATLAB是在D盤,就沒事。

方法2

目前一定能成功。后來我就自己開發了一個方法,無論你的MATLAB安裝在哪個盤,將m_map 復制到除了C盤以外的任意一個盤,比如 D:\mymatlabfiles\m_map,  然后用記事本打開那個 pathdef.m, 然后在

%%% BEGIN ENTRIES %%% 下面加入下面的話:

'D:\mymatlabfiles\m_map;', ...

這樣就不用每次打開MATLAB添加path了。

測試安裝好與否的方法是 輸入 what m_map, 如果顯示了一堆m文件名字,即裝好了,如果顯示 not found,則沒裝好,這時候在MATLAB界面上找到 set path,我的是2012b,直接在上面就有,在preference的下面,然后add folder, 瀏覽到C:Program Files\MATLAB\R2012b\toolbox\m_map,然后save即可。

二、m_map 如何入門

首先運行了一個例子,語句是

m_proj('oblique mercator');

m_coast;

m_grid;

cafaf557411eaf7319f4366a2f3c2b54.png

意思是定義一個投影系統,名叫oblique mercator,注意,定義這個投影系統的時候他已經默默的將地球上的范圍給定義了,這個例子是哥倫比亞的一個海岸,然后 第二句和第三句就是畫圖用的,畫出海岸線和網格,第一句是不畫圖的。那么如何定義地球上的范圍呢,往下看。

m_map 里面嵌有19個投影系統,名字如下所示,你首先要明白這19個系統長什么樣。

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';

這是我在MATLAB里把這19個名字弄到一個cell中了。然后我用了下列語句

j=1;

m_proj(proj{j});

m_coast;

m_grid;

m_proj get

m_proj('set',proj{j});

m_proj(proj{j},'longitudes',100, 'latitudes',0,'rad',90,'rec','circle','rot',0);

m_coast('patch',[.7 .6 .8],'edgecolor','r');

m_grid('xlabeldir','end','fontsize',10);

02826448e31f059a4daff358271620e4.png

重點就在這里,我以第一個投影系為例,j=1嘛,前4行是把這個投影系畫出來看看是什么樣,然后

m_proj get 是獲取這個投影系的默認地理范圍,可以看出是

ee09fe99b0166b85595e06df30af8b88.png

然后我再用m_proj('set',proj{j}); 命令,得到

8d4cc5be9a38ed6a249b9ec3a9f7709b.png

意思就是,如果你要是用'stereographic' 投影系的話,你可以定義'longitude', 'latitude', 'radius',

'rectbox' and 'rotangle'. 當然,如上面我寫的第7行那個,可以用 'lon'代替'longitude'。

然后我就再第7行把lon設置為100,這時候就可以讓偉大的中國在中間了。就是這樣一個一個系統的去看,每個投影系定義的方式都不一樣,其中有些是重復的,但是意義不同。同理,m_coast 和 m_grid 也是這樣學習,然后在繼續看m_map 網站的用戶說明即可,網址是:

http://www.eos.ubc.ca/~rich/private/mapug.html#p1

希望對你們有幫助,網上一些其他的教程太不負責任,只是將 User's guide 翻譯了一下,翻譯的還不怎么樣。

MATLAB m_map toolbox

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值