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!!!!!!!!!!!!!!!

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

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

    matlab画地图的工具:worldmap和m_map *用MATLAB画世界地图并加散点 clear;clc; worldmap([-55 -30],[-110 -60]); h1=axesm('M ...

  2. Matlab调用百度API画地图讲解教程

    1-4环境搭建步骤参考之前写的博客,看完了记得回来呀,链接如下: https://blog.csdn.net/zzx2016zzx/article/details/87976720 5.直接丢代码绘图 ...

  3. tm matlab,[转载]关于matlab中textread

    今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 笔者在此基础上进行运行,修改 ...

  4. Matlab 画地图时搞定经纬度注释 函数

    1.全代码 function varargout = getxy(varargin) %% 此函数用来搞定画地图时,经纬度坐标注释 % 输入: % XArray:经度数组 % YArray:纬度数组 ...

  5. Matlab运用mapping包在地图上绘制散点图(热力图)

    Matlab运用mapping包在地图上绘制散点图(热力图) 一.前言 Mapping Toolbox是Matlab提供的,一整套包含许多函数跟图形用户界面的工具箱:它可以帮助用户分析几何空间方面的数 ...

  6. 用Matlab将坐标添加到地图上

    用Matlab将坐标添加到地图上 今年本科组全国大学生数学建模国赛我没有参加,闲着无聊帮助研究生学姐做竞赛,她让我用matlab将坐标添加到地图上.我的思路是:先画个地图(地图可以是matlab自带的 ...

  7. matlab pup,matlab利用bar函数画不同颜色直方图

    matlab利用bar函数画直方图,参考文献[1]是matlab官方提供的help文档.里面提供了bar函数的基本用法,但是没有说明如何在同一张图中,为每个bar设置不同的颜色. 例子代码: myda ...

  8. matlab中plot函数画线时 颜色和类型

    转自 https://blog.csdn.net/garfielder007/article/details/50449140 matlab里plot函数画线时有很多的颜色和类型可以选择,下面列举一些 ...

  9. Matlab中用Simulink快速画Bode图及 .m 文件画Bode图

    Matlab中用Simulink快速画Bode图及 .m 文件画Bode图 Simulink画Bode图 .m 文件画Bode图 Simulink画Bode图 一万年没用matlab画过Bode图了, ...

最新文章

  1. 惠斯通电桥信号调理芯片_用惠斯通电桥测电阻
  2. [InnoDB系列] - InnoDB独立/共享表空间的转换
  3. nethogs监控linux流量
  4. 怎么用mysql存储系统数据库_mysql数据库之基本操作和存储引擎
  5. 不用卷积也能生成清晰图像,用两个Transformer构建一个GAN
  6. Java中运行Shell for Android
  7. flv 开源 修复_解决开源项目错误和修复的5个步骤
  8. 15. 迭代器模式(Iterator Pattern)
  9. Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
  10. Linux编程学习笔记-多进程编程
  11. 天津大学仁爱学院哪个计算机专业2013山西理科录取分数,天津大学仁爱学院2020年录取分数线(附2017-2020年分数线)...
  12. RabbitMQ的Routing 路由模式(Direct)
  13. 微信小程序——获取用户的运动步数
  14. python生存曲线_生存曲线的估计方法(3):寿命表法
  15. Matlab绘制多个折线图的方法
  16. 使用 Packer 构建虚拟机镜像踩的坑
  17. 20130719CF比赛141div2
  18. 行业标准是什么,怎么申请?
  19. U极速v5.2.4官方正式版
  20. Ultimaker2+使用指南

热门文章

  1. Excel怎么快速计算人数
  2. 简述分布式锁的3种实现方式
  3. 冲孔网——现在普遍应用的装饰产品-KAIYAO
  4. BUAAOJ989 御坂御坂 约瑟夫环
  5. 简述计算机基本工作原理以及指令执行步骤,计算机的指令执行过程分为四步请简述它们简述...
  6. 系统集成资质 - IRR计算
  7. 苹果手机计算机按键会想关掉哪里,苹果手机,你不知道的隐藏功能
  8. GEF原理及实现系列(一、GEF概述)
  9. 在位6年,谷歌GO语言负责人离职!曾带MongoDB、Docker走向辉煌
  10. Laravel -- 实战篇 自制二维码 Simple QrCode