matlab画地图的工具:worldmap和m_map

*用MATLAB画世界地图并加散点

clear;clc;

worldmap([-55 -30],[-110 -60]);

h1=axesm('MapProjection','eqdcylin','maplatlimit',[-58

-30],'maplonlimit',[-110

-60],'frame','on','parallellabel','on','meridianlabel','on','flinewidth',1,'plabellocation',5,'mlabellocation',10);

setm(h1,'fedgecolor',[.5 .6 .6],

'fontname','Arial','fontsize',7);

grid off;

h=geoshow('landareas.shp');

x=

y=

scatterm(y,x,'filled','k')

加等值线

clear;clc;

A=xlsread('2010作图2','5','N2:P26');

[x,y]=meshgrid(-106.5:-81.5,-46.5:-35.5);

z=abs(griddata(A(:,1),A(:,2),A(:,3),x,y,'v4'));

subplot(2,2,1)%figure(1)

worldmap([-55 -30],[-110 -60]);

h1=axesm('MapProjection','eqdcylin','maplatlimit',[-58

-30],'maplonlimit',[-110

-60],'frame','on','parallellabel','on','meridianlabel','on','flinewidth',1,'plabellocation',5,'mlabellocation',10);

setm(h1,'fedgecolor',[.5 .6 .6],

'fontname','Arial','fontsize',7);

grid off;

h=geoshow('landareas.shp');

scatterm(A(:,2),A(:,1),'filled','k')

[c,h] =contourm(y,x,z,[0.6,0.8,0.9],'k-'); %等值线

hold

on;[cc,hh]=contourm(y,x,z,[0.1,0.2,0.3,0.4,0.5,0.7],'k-');

clabel(c,h)

title('5月')

1、用matlab画世界地图

[matlab自带的例子]

ax = worldmap('World');

setm(ax, 'Origin', [0 180 0])

land = shaperead('landareas', 'UseGeoCoords', true);

geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5])

lakes = shaperead('worldlakes', 'UseGeoCoords', true);

geoshow(lakes, 'FaceColor', 'blue')

rivers = shaperead('worldrivers', 'UseGeoCoords', true);

geoshow(rivers, 'Color', 'blue')

cities = shaperead('worldcities', 'UseGeoCoords', true);

geoshow(cities, 'Marker', '.', 'Color', 'red')

2、matlab的m_map工具箱及添加行政边界底图

对习惯使用matlab的人来说,m_map是一个很好的绘制地图的免费工具箱。可以选择的投影种类近20种,包括常用的Lambert、Mercator、UTM等。可以测量距离(

m_lldist, m_xydist

),绘制等值线(m_contour),等值线填充图(m_contourf),矢量图(m_quiver),栅格图(m_pcolor)等,并与相应的matlab函数语法类似,很容易使用。

m_map通过m_coast提供1/4 degree分辨率的全球海岸线,通过下载GSHHS可以得到更高分辨率的海岸线数据。

除海岸线外,还可以利用已有的GIS行政边界资料,在地图上添加行政边界底图。具体作法为:下载.shp格式的行政边界文件(

国家基础地理信息系统的下载服务),将下载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间,可以直接m_plot,也可以调用m_plotbndry()。

通过以上方法可以实现.shp在matlab绘图中的应用。

3、[原创ZHOU

Feng]在matlab中利用worldmap画中国区域图时加上台湾和钓鱼岛

Matlab是我们常用的一个画图和计算、仿真工具,在我们海洋科研中,经常在画图时需要加上底图(譬如海岸线,国界、省界线等等)。常用的一个工具包是M_map。但这里我要讲的是利用matlab自带的一个画图工具包话底图,这个工具包就是worldmap.

worldmap的一般用法约为:

>> figure; worldmap('china');

polcmap;

或者

>> figure; worldmap china;

polcmap;

如果要加入颜色的画,一般可以这样:

>> figure

worldmap('china','patch')

scaleruler

这时候问题就出来了。因为鬼子偷偷的讲台湾和大陆用两种颜色表示;甚至,如果你放大图片的画,会发现钓鱼岛也是不同颜色。这个是我们不能忍受的!!!!!

于是我就费了一点时间,琢磨这个画图,然后修改。下面是这个脚本程序,在matlab中执行就可,这时候台湾和钓鱼岛和大陆就是一个颜色了^_^。

用兴趣的朋友可以把这个用法举一反三((ZHOU

Feng)zhoufeng@sio.org.cn。matlab版本是6.5)。

不过老实说,我不太用matlab自带的这个画图包,用M_map比较多一点。试验一下,感觉还可以用用。

画上述图的代码如下:

% 把台湾和大陆合成一个文件保存起来,这样画图用patch就是一种颜色(Zhou Feng, 2008-06-30, SOED,

Hangzhou)。

%

% by ZHOU Feng

% zhoufeng@sio.org.cn

% SOED, 2nd Institute of Oceanography

% 2008-06-30

s1 = worldhi('china');

s2 = worldhi('taiwan');

disp(s1);

% add Taiwan together (ZHOU Feng)zhoufeng@sio.org.cn

s = s1;

s.lat = [s1.lat;NaN; s2.lat];

s.long= [s1.long; NaN;s2.long];

% add the Diaoyu Island (钓鱼岛)

% 钓鱼岛群岛由钓鱼岛、黄尾岛、赤尾岛、南小岛、北小岛、大南小岛、大北小岛和飞濑岛等岛屿组成,总面积约7平方公里。

% 地理位置:东经123°-124°34′北纬25°40′-26°。

%

% ---这里的分辨率只有两块 --

s3 = worldhi('japan'); %(ZHOU

Feng)zhoufeng@sio.org.cn

x = s3.long;

y = s3.lat;

idx = find(x>123.0 &

x<124.5);

idy = find(y> 25.5 &

y< 26.0);

m = length(idy);

id=[];

for i=1:m

tmp=find(idx == idy(i));

if isempty(tmp)

else

id = [id;

idx(tmp)]; %(ZHOU Feng)zhoufeng@sio.org.cn

end

end

%%longd = x(id);

%%latd = y(id);

%

% find nan

dtmp = find(diff(id)>1);

if isempty(dtmp)

disp('no change')

elseif length(dtmp)==1

idnew = [id(1:dtmp); id(dtmp+1)-1;id(dtmp+1:end)];

else

for j=1:length(dtmp)

idnew = [id(1:dtmp(j)+j-1); id(dtmp(j)+1)+j-1;

id(dtmp(j)+j+1:end)]; % 未试验,可能有误

end

end

longd = x(idnew);

latd = y(idnew);

s.lat = [s.lat; NaN; latd];

s.long= [s.long; NaN; longd];

worldmap china

h = displaym(s);

polcmap

OK!!!!!!!!!!!!!!!

matlab中minigrid,[转载][转载]matlab画地图的工具:worldmap和m_map相关推荐

  1. matlab在图片上画圆_在Matlab中识别的图像周围画一个圆圈

    我有一张参考图片,我想围绕参考图片中存在的图片绘制一个圆圈. 现在,它在参考图片中存在的图片上绘制一个矩形,但我不知道如何使其成为圆形.在Matlab中识别的图像周围画一个圆圈 boxImage = ...

  2. matlab中dist的命令,matlab dist函数

    dist--欧式距离加权函数(Euclidean distance weight function) 语法: Z = dist(W,P) df = dist('deriv') D = dist(pos ...

  3. matlab中surf和mesh,matlab surf和mesh区别

    matlab plot3 mesh surf三种作图方法有什么区别 plot3(x1,y1,z1,x2,y2,z2,-,xn,yn,zn):例:t=0:0.1:1;x=sin(t);y=cos(t); ...

  4. matlab中错误使用fmincon,MATLAB中fmincon 函数问题

    MATLAB中fmincon 函数问题 Matlab的fmincon优化问题 请问: 各位高手帮忙看看我的程序又什么问题?显示错误 Error in ==> Fun at 33 [w,fval] ...

  5. worldmap matlab,[转载]转:matlab画地图的工具:worldmap和m_map

    1.用matlab画世界地图 [matlab自带的例子] ax = worldmap('World'); setm(ax, 'Origin', [0 180 0]) land = shaperead( ...

  6. matlab中ode指令,[转载]MATLAB中ODE的使用

    ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法.ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法.ode113 解非刚性微分方程,变精度 ...

  7. 在matlab中使用spm8,[转载]在matlab中同时使用spm2,spm5,spm8

    1.设置好spm2,spm5,spm8的路径.例如,都放置在"D:Analysis_Software" 2.新建一个文件夹spm_paths,用于放置调用spm2,spm5,spm ...

  8. 期权在matlab中的论文,[转载]期权定价的Matlab实现(以欧式看涨期权为例)

    二叉树模型 考虑到欧式期权的特性,忽略中间过程,直接关注末期状态及其概率分布. function price=bino(s,k,r,t,v,n) dt=t/n; u=exp(v*sqrt(dt)); ...

  9. 根据坐标如何在matlab中l连成曲线,matlab中,如何将两条曲线画在一个坐标系里,plot(x1,x2,y1,y2)还是怎样...

    matlab中,如何将两条曲线画在一个坐标系里,plot(x1,x2,y1,y2)还是怎样以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快 ...

最新文章

  1. Android面试题详细整理系列(三)
  2. Memory and Crow
  3. 关于微信公众号小程序在运营过程中的注意事项
  4. cms的 php代码,KingCMS/PHP可执行代码
  5. 【es】es 分布式一致性原理剖析 节点篇
  6. 2021-2025年中国再生聚酯行业市场供需与战略研究报告
  7. php 创建自定义文件夹,Laravel 自定命令以及生成文件的例子
  8. PMP扫盲篇2 | PMP报名、缴费、考试那些事儿~~
  9. webhook机器人php源码,机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知...
  10. 中英文金额大写转换器
  11. 计算机的语言栏怎么更改,语言栏不见了怎么调出来,笔者教你win7电脑语言栏不见了的解决方法...
  12. Vue 中常见的面试题/知识点整理
  13. 海思3559A上编译ffmpeg
  14. 博途PLC ADRC自抗扰控制完整SCL源代码
  15. python编程基础张勇答案_2020智慧职教云课堂Python编程基础答案完整满分课后作业答案...
  16. 中科爱讯WiFi探针在客流分析统计的应用
  17. Python   pip安装selenium安装不了报错原因
  18. STM32H743基于Lwip协议栈通过TFTP传输文件
  19. 酒店管理系统升级(.net4.0 + sql2005 + linq to sql)
  20. Spimes x5.0主题模板全开源源码/Typecho主题模板

热门文章

  1. 国内各省市有关中小学少儿编程进展(节选)
  2. 用anaconda下载安装pytorch1.8.1+cudatoolkit11.1
  3. 如何制作图片一句话木马
  4. 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查
  5. Latex beamer 主题和颜色大全
  6. 免费的网页截屏API有哪些?
  7. 你了解CNAS认证吗?
  8. 怎么设置计算机开机顺序,教你设置电脑开机程序启动顺序的详细教程
  9. 深入浅出Oracle Spatial
  10. 网易微专业python全栈工程师_Python 的工作已经饱和?那是因为你只会 Python