⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_demo.m

📁 m_map是加拿大学者编写的一个在matlab上绘地图的软件
💻 M
字号:
function m_demo(index);% M_DEMO  Demonstration program showing various maps in M_Map package%         Dig into this to look for examples of things you want to do.%%         M_DEMO runs all the demos.%         M_DEMO(NUM) runs examples NUM (1<=NUM<=10), pausing between examples.%%         Some demos may require you to install GSHHS or TerrainBase datafiles%         (see documentation)% Rich Pawlowicz (rich@ocgy.ubc.ca) 7/May/1997% (thanks to Art Newhall for putting these examples into an m-file,% and the Chuck Denham for enhancing the interface)%% 27/July/98 - more examples.% 17/Aug/98     "% 15/Nov/98  - another example, better interface.% 23/Dec/98  - another example.%% This software is provided "as is" without warranty of any kind. But% it's mine, so you can't sell it.N_EXAMPLES=13;if nargin==0, index=1:N_EXAMPLES;end; for i=index,clf;switch i,  case 1,    m_proj('ortho','lat',48','long',-123');    m_coast('patch','r');    m_grid('linest','-','xticklabels',[],'yticklabels',[],'ytick',[-80:40:80]);    xlabel('Orthographic Projection','visible','on');  case 2,    m_proj('lambert','long',[-160 -40],'lat',[30 80]);    m_coast('patch',[1 .85 .7]);    m_elev('contourf',[500:500:6000]);    m_grid('box','fancy','tickdir','in');    colormap(flipud(copper));    xlabel('Conic Projection of North America with elevations','visible','on');     case 3,    m_proj('stereographic','lat',90,'long',30,'radius',25);    m_elev('contour',[-3500:1000:-500],'edgecolor','b');    m_grid('xtick',12,'tickdir','out','ytick',[70 80],'linest','-');    m_coast('patch',[.7 .7 .7],'edgecolor','r');    xlabel('Polar Stereographic Projection with bathymetry','visible','on');  case 4,      subplot(211);    Slongs=[-100 0;-75 25;-5 45; 25 145;45 100;145 295;100 290];    Slats= [  8 80;-80  8; 8 80;-80   8; 8  80;-80   0;  0  80];    for l=1:7,     m_proj('sinusoidal','long',Slongs(l,:),'lat',Slats(l,:));     m_grid('fontsize',6,'xticklabels',[],'xtick',[-180:30:360],...            'ytick',[-80:20:80],'yticklabels',[],'linest','-','color',[.9 .9 .9]);     m_coast('patch','g');    end;    xlabel('Interrupted Sinusoidal Projection of World Oceans');    % In order to see all the maps we must undo the axis limits set by m_grid calls:    set(gca,'xlimmode','auto','ylimmode','auto');    subplot(212);    Slongs=[-100 43;-75 20; 20 145;43 100;145 295;100 295];    Slats= [  0  90;-90  0;-90   0; 0  90;-90   0;  0  90];    for l=1:6,     m_proj('mollweide','long',Slongs(l,:),'lat',Slats(l,:));     m_grid('fontsize',6,'xticklabels',[],'xtick',[-180:30:360],...            'ytick',[-80:20:80],'yticklabels',[],'linest','-','color','k');     m_coast('patch',[.6 .6 .6]);    end;    xlabel('Interrupted Mollweide Projection of World Oceans');    set(gca,'xlimmode','auto','ylimmode','auto');  case 5,      %% Nice looking data    [lon,lat]=meshgrid([-136:2:-114],[36:2:54]);    u=sin(lat/6);    v=sin(lon/6);    m_proj('oblique','lat',[56 30],'lon',[-132 -120],'aspect',.8);    subplot(121);    m_coast('patch',[.9 .9 .9],'edgecolor','none');    m_grid('tickdir','out','yaxislocation','right',...	   'xaxislocation','top','xlabeldir','end','ticklen',.02);    hold on;    m_quiver(lon,lat,u,v);    xlabel('Simulated surface winds');    subplot(122);    m_coast('patch',[.9 .9 .9],'edgecolor','none');    m_grid('tickdir','out','yticklabels',[],...	   'xticklabels',[],'linestyle','none','ticklen',.02);    hold on;    [cs,h]=m_contour(lon,lat,sqrt(u.*u+v.*v));    clabel(cs,h,'fontsize',8);    xlabel('Simulated something else');  case 6,      % Plot a circular orbit    lon=[-180:180];    lat=atan(tan(60*pi/180)*cos((lon-30)*pi/180))*180/pi;    m_proj('miller','lat',82);    m_coast('color',[0 .6 0]);    m_line(lon,lat,'linewi',3,'color','r');    m_grid('linest','none','box','fancy','tickdir','out');  case 7,      m_proj('lambert','lon',[-10 20],'lat',[33 48]);    m_tbase('contourf');    m_grid('linestyle','none','tickdir','out','linewidth',3);    colormap(jet);  case 8,      m_vec;      case 9,    % Example showing the default coastline and all of the GSHHS coastlines.    axes('position',[.35 .6 .37 .37]);    m_proj('albers equal-area','lat',[40 60],'long',[-90 -50],'rect','on');    m_coast('patch',[0 1 0]);    m_grid('linest','none','linewidth',2,'tickdir','out','xaxisloc','top','yaxisloc','right');    m_text(-69,41,'Standard coastline','color','r','fontweight','bold');    axes('position',[.09 .5 .37 .37]);    m_proj('albers equal-area','lat',[40 54],'long',[-80 -55],'rect','on');    m_gshhs_c('patch',[.2 .8 .2]);    m_grid('linest','none','linewidth',2,'tickdir','out','xaxisloc','top');    m_text(-80,52.5,'GSHHS\_C (crude)','color','m','fontweight','bold','fontsize',14);    axes('position',[.13 .2 .37 .37]);    m_proj('albers equal-area','lat',[43 48],'long',[-67 -59],'rect','on');    m_gshhs_l('patch',[.4 .6 .4]);    m_grid('linest','none','linewidth',2,'tickdir','out');    m_text(-66.5,43.5,'GSHHS\_L (low)','color','m','fontweight','bold','fontsize',14);    axes('position',[.35 .05 .37 .37]);    m_proj('albers equal-area','lat',[45.8 47.2],'long',[-64.5 -62],'rect','on');    m_gshhs_i('patch',[.5 .6 .5]);    m_grid('linest','none','linewidth',2,'tickdir','out','yaxisloc','right');    m_text(-64.4,45.9,'GSHHS\_I (intermediate)','color','m','fontweight','bold','fontsize',14);    axes('position',[.55 .23 .37 .37]);    m_proj('albers equal-area','lat',[46.375 46.6],'long',[-64.2 -63.7],'rect','on');    m_gshhs_h('patch',[.6 .6 .6]);    m_grid('linest','none','linewidth',2,'tickdir','out','xaxisloc','top','yaxisloc','right');    m_text(-64.18,46.58,'GSHHS\_H (high)','color','m','fontweight','bold','fontsize',14);  case 10,      % Example showing a trackline plot    clf    m_proj('UTM','long',[-72 -68],'lat',[40 44]);    m_gshhs_i('color','k');    m_grid('box','fancy','tickdir','in');    % fake up a trackline    lons=[-71:.1:-67];    lats=60*cos((lons+115)*pi/180);    dates=datenum(1997,10,23,15,1:41,zeros(1,41));    m_track(lons,lats,dates,'ticks',0,'times',4,'dates',8,...           'clip','off','color','r','orient','upright');               case 11,      % example showing range rings        clf    m_proj('hammer','clong',170);    m_grid('xtick',[],'ytick',[],'linestyle','-');    m_coast('patch','g');    m_line(100.5,13.5,'marker','square','color','r');    m_range_ring(100.5,13.5,[1000:1000:15000],'color','b','linewi',2);    xlabel('1000km range rings from Bangkok');      case 12,      % Example showing speckle        bndry_lon=[-128.8 -128.8 -128.3 -128 -126.8 -126.6 -128.8];    bndry_lat=[49      50.33  50.33  50   49.5   49     49];    clf;    m_proj('lambert','long',[-130 -121.5],'lat',[47 51]);    m_gshhs_i('color','k');    m_gshhs_i('speckle','color','k');    m_line(bndry_lon,bndry_lat,'linewi',2,'color','k');     % Area outline ...    m_hatch(bndry_lon,bndry_lat,'single',30,5,'color','k'); % ...with hatching added.    m_grid('linewi',2,'linest','none');    title('Speckled Boundaries for nice B&W presentation (best in postscript format)','fontsize',14);    m_text(-128,48,5,{'Pacific','Ocean'},'fontsize',18);          case 13,      % Colouring the ocean blue        clf    m_proj('miller','lat',[-75 75]);    set(gca,'color',[.9 .99 1]);    m_coast('patch',[.7 1 .7],'edgecolor','none');    m_grid('box','fancy','linestyle','none');           cities={'Cairo','Washington','Buenos Aires'};    lons=[ 30+2/60  -77-2/60   -58-22/60];    lats=[ 31+21/60  38+53/60  -34-45/60];        for k=1:3,      [range,ln,lt]=m_lldist([-123-6/60 lons(k)],[49+13/60  lats(k)],40);      m_line(ln,lt,'color','r','linewi',2);      m_text(ln(end),lt(end),sprintf('%s - %d km',cities{k},round(range)));    end;          title('Great Circle Routes','fontsize',14,'fontweight','bold');         end;   if i<length(index),    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   disp('  hit return to continue');   pause   disp('        ...drawing');   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end;end;  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -