05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针

本文主要是介绍05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针

  • 0. 引言
  • 1. 关于m_scale
  • 2. 关于m_ruler
  • 3. 关于m_northarrow
  • 4. 结语


0. 引言

   本篇介绍下m_map中添加指北针(m_northarrow)、比例尺(m_ruler)和进行比例缩放(m_scale)的函数及其用法 。

1. 关于m_scale

  m_scale用于图件 比例缩放。可以将图件调整到合适的绘图区域,也可以强制地图以特定的比例显示,该命令往往在m_grid命令之后调用。

  m_scale函数的一般形式为:

scale_factor=m_scale(scale_factor)

  其中scale_factor 表示绘制1:scale_factor比例尺的地图。例如: 1:500,可理解为图上距离1cm,实地距离为500km此外,可以直接使用m_scale() 获取当前地图使用的比例尺数值

  下面是一个示例,第一幅图使用默认参数,打印当前绘图比例尺为scale_factor = 2.3674e+07第二幅图使用m_scale对绘图比例尺做了修改。对比发现,第二幅图有明显被缩放

% 官网示例修改
clc;clear;
m_proj('lambert','lat',[5 24],'long',[105 125]);
set(gcf,'color','w')   % Set background colour before m_image call
caxis([-6000 0]);
colormap(flipud([flipud(m_colmap('blues',10));m_colmap('jet',118)]));
m_etopo2('shadedrelief','gradient',3);
m_gshhs_i('patch',[.8 .8 .8]);m_grid('box','fancy');
%scale_factor = m_scale() % 第一幅图:返回默认绘图比例尺   >> 2.3674e+07
m_scale(3e7)  % 第二幅图:设置绘图比例尺 >> 3e7ax=m_contfbar(.97,[.5 .9],[-6000 0],[-6000:100:000],'edgecolor','none','endpiece','no');
xlabel(ax,'meters','color','k');
默认参数
修改绘图比例尺

2. 关于m_ruler

  m_ruler函数用于绘制地图比例尺,比例尺作为重要的地图要素之一,对认识地图极为重要,在绘制比较正式的图件时,比例尺绘制必不可少。

  m_ruler函数的一般形式为:

h=m_ruler(posx,posy,nints,varargin)

  其中posx,posy为x、y方向的位置向量,表示比例尺绘图区域的中心线顶点坐标位置(如下图A、B点)。当 p o s x = [ x 1 ] 、 p o s y = [ y 1 , y 2 ] posx=[x_{1}]、posy=[y_{1}, y_{2}] posx=[x1]posy=[y1,y2]时表示绘制一个竖直放置的比例尺;当 p o s x = [ x 1 , x 2 ] 、 p o s y = [ y 1 ] posx=[x_{1},x_{2}]、posy=[y_{1}] posx=[x1x2]posy=[y1]时表示绘制一个水平放置的比例尺。nints控制从A点到B点分几段显示,默认值为4段。需要注意:posx,posy输入为 线性 坐标系的值,而非投影坐标系的经纬度。


  此外,varargin表示其它属性,m_ruler可设置的其他属性包括以下内容:

  • color 表示刻度颜色,(‘color’,‘r’)
  • fontsize 表示标签字号, (‘fontsize’, 8)
  • ticklength 表示刻度线长度,(‘ticklength’,4)
  • tickdir 表示比例尺类型,有两种,分别为in或out,(‘tickdir’,‘in’)
  • tickwidth 表示线框厚度,只适用于’tickdir’为’out’的情况。
  • ticklen 刻度线的长度,(‘ticklen’,0.1)
  • fontcolor 前景色
  • linestyle 线形

示例绘制了横纵各一个比例尺,两个比例尺使用了不用的参数:

clc;clear;
m_proj('albers equal-area','lat',[40 60],'long',[-90 -50],'rect','on');
m_coast('patch',[0 1 0]);
m_grid('linestyle','none','linewidth',2,'tickdir','out',...'xaxisloc','top','yaxisloc','right','fontsize',6);
m_text(-69,51,'Standard coastline','color','r','fontweight','bold');% 绘制比例尺
m_ruler([.5 .9],.8,3,'fontsize',8)
m_ruler(1.15,[.0 .94],6,'fontsize',8,'tickdir','out','ticklen',.01,'color','r','linestyle','-')

3. 关于m_northarrow

  m_northarrow函数用于在地图上 添加指北针 。同比例尺一样,指北针也是重要的地图要素之一,对正确识别地图方向极为重要,在绘制比较正式的图件时,指北针的添加尤为重要。

  m_northarrow函数的一般形式为:

h=m_northarrow(long,lat,scale,varargin)

  其中,long,lat为绘制指北针的中心位置坐标(投影坐标系下的经纬度坐标);scale控制指北针的尺寸;此外-,还有下面属性可供选择(可能还有其它):

  • type 设置指北针类型,m_map一共提供了四种类型, typevalue可选择1-4;
  • aspect 控制指北针形态,当 aspect<1时,使指北针变aspect>1时,使指北针变
  • facecolor 设置表面颜色
  • edgecolor 设置边缘颜色
  • linewi 设置线宽

示例:下面示例包含了上面所有的属性设置:

close all
clc;clear
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.5],'rectbox','on');m_northarrow(-125.5,50.2,0.8,'type',1,'linewi',2); 
m_northarrow(-126.5,50.2,0.8,'type',1,'linewi',5,'aspect',1.6); % 控制边缘宽度,控制变薄
m_northarrow(-124.5,50.2,0.8,'type',1,'linewi',5,'aspect',0.4); % 控制边缘宽度,控制变厚m_northarrow(-125.5,45.2,1.2,'type',2,'linewi',2,'edgecolor','r');  % 设置边缘颜色
m_northarrow(-122.5,50.2,2,'type',3,'linewi',2, 'facecolor','r');   % 设置面颜色
m_northarrow(-122.5,45.2,3,'type',4,'linewi',2); 

4. 结语

  本篇 介绍了 m_map绘制地图要素的几个函数(m_scalem_rulerm_northarrow)及其使用方法,提供了 示例以便参考,罗列了 各函数可设属性。希望对绘图的你有所帮助






😜
😜😜
😜😜😜😜

这篇关于05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086718

相关文章

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此