M_map(五)

一、圆形区域的画图

1、

clear all

LATLIMS=[14 22];
LONLIMS=[108 118];%南海边界范围
m_proj('miller','lon',LONLIMS,'lat',LATLIMS);%投影模式
m_coast('patch',[0.1 0.7 0.4]);%绿色填充
m_grid('box','fancy','tickdir','in');%没有网格,边框相间,%m_line(lon,lat,'linewi',2,'color','r','linestyle',':');控制线条格式,点画线还是直线

lon=112:1:116;
lat=16:1:20;
m_line(lon,lat,'linewi',2,'color','r');%线宽,2;颜色

[X,Y]=m_ll2xy(117,21);
line(X,Y,'marker','.','markersize',24','color','r')%画点

2、距离

clear all
%distance用法
arclen=distance([37,0],[35,0])%返回两点间的相对球心的角度,以度为单位
d=distance([37,0],[35,0],6371)% [纬度,经度] [纬度,经度] [半径]
D=(arclen/180)*pi*6371
%m_map中函数
dist=m_lldist([0 0],[35 37])%[经度 经度] [纬度 纬度]

3、

clear all

LATLIMS=[14 22];
LONLIMS=[108 118];%南海边界范围
m_proj('miller','lon',LONLIMS,'lat',LATLIMS);%投影模式
m_coast('patch',[0.1 0.7 0.4]);%绿色填充
m_grid('box','fancy','tickdir','in');%没有网格,边框相间,%m_line(lon,lat,'linewi',2,'color','r','linestyle',':');控制线条格式,点画线还是直线

load EDH_south_sea_2008
load coordi_south_sea_2008 

m_range_ring(114,18,[1e2:1e2:3e2],'linewi',2,'color','b');%红色300km范围圆圈

% 矩形点阵
range_lat=4:24;%21N和15N对应的位置下标
range_lon=20:40;%111.5E和116.5E对应的下标
for i=1:length(range_lon)
    for j=1:length(range_lat)
        [X,Y]=m_ll2xy(lon_south_sea(range_lon(i)),lat_south_sea(range_lat(j)));%化为x,y坐标
        line(X,Y,'marker','.','markersize',10,'color','k')%画点
        hold on
    end
end

%离散圆
[X0,Y0]=m_ll2xy(114,18);%化为x,y坐标
line(X0,Y0,'marker','.','markersize',15,'color','r');%画圆心
DIST=m_lldist([114 114],[18 19]);%纬度加1度,增加的距离
R=300;%300km
[X1,Y1]=m_ll2xy(114,18+R/DIST);%找到300km的一个点

r=sqrt((X0-X1)^2+(Y0-Y1)^2);%地图距离到图上距离转换
theta=0:pi/180:2*pi;%360度,360个点。
x=X0+r*cos(theta); %(X0,Y0)圆心
y=Y0+r*sin(theta);
plot(x,y,'.','color','r')

4、pcolor

clear all
n =18;
r = (0:n)'/n;
theta = pi*(-n:n)/n;
X = r*cos(theta);
Y = r*sin(theta);
C = r*cos(2*theta);
pcolor(X,Y,C)
axis equal tight
colorbar

figure
load PCOLOR %南海坐标和波导高度数据
colormap('jet');
shading flat;%平滑方式
gca=pcolor(Plg,Plt,EDH_south_sea)
set(gca, 'LineStyle','none');%去除网格
axis equal tight %按比例展示
colorbar %颜色条

5、

clear all
n =6;
r = (0:n)'/n;%0到6,半径上均分的数
theta = pi*(-n:n)/n;%将整个圆分成了13分。
X = r*cos(theta);
Y = r*sin(theta);
C = r*cos(2*theta);
pcolor(X,Y,C)
axis equal tight
colorbar

角度逆时针转

半径分成了6份。

猜你喜欢

转载自www.cnblogs.com/ruo-li-suo-yi/p/9102780.html