mmap用法详解.docx
- 文档编号:25125700
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:38
- 大小:94.99KB
mmap用法详解.docx
《mmap用法详解.docx》由会员分享,可在线阅读,更多相关《mmap用法详解.docx(38页珍藏版)》请在冰豆网上搜索。
mmap用法详解
M_Map:
用户指南1.4版
1。
入门
首先,获得所有文件,无论是作为一个zip压缩包或gzip压缩的tar文件并解压缩。
如果你解压了zip文件,请确保您还解压了子目录!
现在,启动Matlab程序(版本5或更高版本)。
确保“工具箱”在您的路径。
这可以简单地通过CDING到正确的目录。
另外,如果你已经解压缩到目录/用户/富/m_map(和/用户/富//私人m_map),那么你可以添加到你的搜索路径:
路径(path,“/用户/富/m_map');
或
使用addpath/用户/丰富/m_map
按照这份文件,然后你会使用Web浏览器打开文件:
/用户/丰富/m_map的/map.html,就是这个HTML文件。
注意:
您可能要,安装M_Map所有用户访问一个工具箱。
要做到这一点,解压缩文件到$MATLAB/工具箱/m_map,目录添加到$MATLAB/工具箱/本地/pathdef.m的的定义的列表,并更新缓存文件,使用
Rehashtoolboxcache
(可选)高分辨率测深数据库安装说明是在第9和第10条中的说明安装(可选)高解析度GSHHS的海岸线数据库。
但是,我们应该首先检查的基本设置是OK的。
看一个例子地图,试试这个:
m_proj(“obliquemercator”);
m_coast;
m_grid;
这是俄勒冈州/不列颠哥伦比亚省海岸的一个线图,使用斜墨卡托投影(一些更复杂的地图,可以产生通过运行演示功能m_demo)。
第一行初始化设计。
默认值被设置为不同的投影,这样你就可以很容易地看到一个特定的投影是什么样的,但所有的设计有一些可选参数。
要得到相同的地图,而不使用默认值,您可以使用
m_proj(‘obliquemercator’,’longitudes’,[-132-125],...
“latitudes”,[5640],“direction”,“vertical”,“aspect”,0.5);
各种选项的确切含义在第2节给出。
但是,请注意,东经指定使用有正负之分的标记法-东经是正的,而西经度是负的(还要注意,使用一个十进制度表示,这样东经12030'W被指定为-120.5)。
第二行绘制海岸线,使用1/4度数据库。
海岸线与更高的分辨率可以使用自己的数据库(见第7节)。
m_coast可以调用不同的线路参数。
例如,
m_coast('linewidth',2,“color”,'r');
m_coast('线宽',2,“颜色”,'r');
画了较粗的红色海岸线。
填充的的海岸线也可以画出,使用“patch(修补)”选项(后面的任何通常的PATCH属性/值对)。
m_coast('patch',[.7.7.7],'edgecolor','none');
m_coast('修补',[0.70.70.7],'edgecolor','没有');
用灰色填充和无边框绘制的海岸线。
第三条语句是叠加网格。
虽然有很多可能的选项,可用于自定义外观的网格,默认可以随时使用(在本例中)在第4节讨论这些选项。
你可以得到一个使用GET语法的选项列表:
m_gridget
它的作用有点像(GCA)的语法进行有规则地图形绘制。
最后,假设您想要显示和标注的位置,也就是说,一个停泊在129W,4830'N。
[X,Y]=m_ll2xy(-129,48.5);
line(X,Y,'marker','square','markersize',4,'color','r');
text(X,Y,'M5','vertical','top');
m_ll2xy(和它的逆m_xy2ll)用于经度/纬度坐标转换来与投影匹配。
各种裁剪选项,也可以指定在转换到投影坐标。
如果你愿意接受默认的剪切设置,您可以使用内置的功能m_line和m_text的:
m_line(-129,48.5,'marker','square','markersize',4,'color','r');
m_text(-129,48.5,'M5','vertical','top');
最后(!
),我们可能需要稍微改变网格的详细信息。
需要注意的是,在给定的地图只能被初始化一次。
clf
m_coast('patch',[.7.7.7],'edgecolor','none');
m_grid('xlabeldir','end','fontsize',10);
m_line(-129,48.5,'marker','square','markersize',4,'color','r');
m_text(-129,48.5,'M5','vertical','top');
2。
指定预测
为了得到一个列表,目前的预测,
m_projget或m_proj('set');
目前返回下面的列表:
Availableprojectionsare:
Stereographic立体的
Orthographic正交
AzimuthalEqual-area方位等面积
AzimuthalEquidistant方位等距
Gnomonic大圆
Satellite卫星
AlbersEqual-AreaConic阿尔伯斯等面积圆锥
LambertConformalConic兰伯特等角圆锥
Mercator墨卡托
MillerCylindrical米勒圆柱
EquidistantCylindrical等距圆柱
ObliqueMercator斜轴墨卡托
TransverseMercator横轴墨卡托投影
Sinusoidal正弦
Gall-Peters胆-彼得斯
Hammer-Aitoff
Mollweide
Robinson罗宾逊
UTM
如果你想这些预测可能的选项,其名称添加到上面的命令,例如:
m_proj('set','stereographic');
'Stereographic'
<,'lon
<,'lat
<,'rad
<,'rec
您还可以得到关于当前投影的详细信息。
例如,为了看什么默认参数为正弦投影,我们首先对它进行初始化,然后使用“设置”选项:
m_proj('sinusoidal');
m_projget
Currentmappingparameters-
Projection:
Sinusoidal(function:
mp_tmerc)
longitudes:
-9030(centeredat-30)
latitudes:
-6565
Rectangularborder:
off
m_proj('正弦');
m_proj
当前映射参数-
投影:
正弦(功能:
mp_tmerc)的
经度:
-9030(中心在-30)
纬度:
-6565
矩形边框:
关闭
为了初始化一个projection,通常指定的某些位置参数定义的几何形状的投影(纵向限制,中央平行的,等),以及作为参数定义的范围内的地图(不管它是在一个矩形轴,边界点是什么,等等)。
这些略有不同,从投影到投影。
两个有用的属性的投影
(1)能够保持角度差异小的区域
(2)可以维护地区。
投影满足第一条件被称为适形,那些满足第二被称为相等的面积。
无投影二者皆可满足。
许多投影(特别是全球投影)都不满足,而不是已经试图作出美学平衡这两个条件中的错误。
注:
目前,大多数投影是球形,而不是椭圆形。
UTM是一个椭圆形的投影,如果需要的话,可以指定椭圆等角圆锥投影和Albers等面积圆锥。
这有时是有用的,当你有加拿大的省或美国各州数据(例如,从一个地理信息系统软件包),这往往是使用这些投影。
这是不可能的,这将是在正常使用中的一个问题。
1方位预测
方位角的预测是在地球上的点被投射到一个平面的切平面。
地图使用这些预测的方向或从中心点到所有其他点的方位正确显示的属性。
大圆路线穿过中心点显示为直线(虽然大圆不穿过中央的点可能会出现弯曲)。
通常,这些地图绘制的圆形边界。
下面的参数需要定义一个方位投影:
<,'lon
<,'lat
这些参数定义了地图的中心点。
指定的经度是在地图的中心是垂直对齐的,其北端在地图的顶部(但看到下面的选项rotangle,)
<,'rad
这定义地图的半径长度。
要么以度的角距离,可以给定的(例如,90为一个半球),或者可以指定的边界上的一个点的坐标。
<,'rec
默认情况下是在一个圆形边界附上地图(使用后两个选项选择),但也可以指定一个矩形。
然而,矩形地图通常是更好的使用某种形式的圆柱或圆锥投影绘制。
<,'rot
这个是旋转图形以使中央的经度是不垂直的。
●Stereographic
立体投影是等角的(正形投影的),但不等面积。
此投影往往用于极地区域。
●Orthographic
这既不等于面积也不是等角投影,但类似地球的透视图。
●AzimuthalEqual-Area
有时也被称为兰伯特方位角等面积投影,这个映射是等面积的,但不保形。
●AzimuthalEquidistant(等方位角)
这既不等于面积也不是等角投影,但所有的从中央点的距离和方向都是真的。
●Gnomonic
这既不是等面积也不是等角投影,但在地图上(而不仅仅是那些通过中心)所有直线都是大圆航线。
然而,在地图的边缘有很大程度的失真,因此,最大的半径应至多保持相当小-20度或30度。
●Satellite
这是地球的立体图,在一个特定的高度由一个卫星看到。
指定半径的地图,而不是指定的观点高度:
<,'alt
分配给此属性的数值代表地球半径为单位中的视点的高度。
例如,一个卫星的轨道半径为3地球半径将具有2的高度。
2圆柱和伪圆柱投影
圆柱投影形成全球各地的包裹,只能沿着一些大圈接触到一个平面上的投影点。
这些都是非常有用的投影显示巨大的横向范围的区域,也常用于全球中纬度地区唯一的地图。
这里还包括两个伪圆柱形投影,sinusoidal和gall-peters和圆柱形投影有一些相似之处(见下文)。
这些地图通常绘制矩形边界(异常的正弦和有时横向莫卡托)。
●Mercator(墨卡托)
这是一个保角(保形)的地图,基于赤道上的切柱面。
在此投影的直线方位线都是罗盘吸纳(即轨道的过程中恒定的轴承)。
以下属性影响投影:
<,'lon
任何经度限制都可以设置,可以设置或定义的中心经度意味着一个全球性的地图。
<,'lat
纬度限制是最通常在两个N和S的纬度相同,并且可以指定一个单一的值,但也可用于(如果需要的话)不平等限制。
●MillerCylindrical(米勒圆柱)
这既不是等面积也不是等角投影,但“看起来不错”的世界地图。
属性是与上面墨卡托的是相同的。
●Equidistantcylindrical等距圆柱形
这既不是等面积也不是等角投影。
它由等距的纬度和经度线,并且是非常经常用于迅速绘制数据。
它包括在这里只是让这样的地图可以利用的网格生成程序。
也称为PlateCarree。
属性同上。
●ObliqueMercator斜轴墨卡托
斜轴墨卡托投影产生的大圆相切时是任意的。
这是一个有用的,例如,漫长的海岸线或其他笨拙形状或对齐地区的投影。
它是保形的,但不是面积相等。
下面的属性管理这个投影:
<,'lon
<,'lat
两个点指定一个大圆,因此限制了本地图(这是假设所需的,附近的区域的最短的两个圆弧)。
2点(G1,L1)和(G2,L2)在该中心的地图(取决于'方向'属性)的顶部/底部或左/右两侧。
<,'asp
这指定大圆切线相垂直的方向中的地图的大小,作为示出的长度的比例。
纵横比为1的查询结果在一个正方形的地图,较小数字导致瘦地图。
高宽比>1是可能的,但不推荐。
<,'dir
这指定是否大圆相切水平在页面上(短宽地图),或垂直高高瘦瘦的地图。
●TransverseMercator(横轴墨卡托投影)
横轴墨卡托是一个特殊的情况下,斜轴墨卡托投影大圆相切时,是沿着子午线的经度,因此它是保形的。
它经常被用于大型地图和图表。
下面的属性解释这个投影:
<,'lon
<,'lat
这些指定的地图上的限度。
<,'clo
虽然一般最有意义的是指定中央子午线作为子午线的切线(这是默认的),某些地图分类系统(noteablyUTM)只使用一组固定的中央经度,可能无法在地图中心。
<,'rec
地图的限制可以基于纬度/经度(默认值),或在地图上的边界可以形成一个确切的矩形。
差异是小的大比例地图。
注意:
虽然这个投影与通用横轴墨卡托投影(UTM)类似,后者实际上是椭圆形的性质。
●UniversalTransverseMercator(UTM)(通用横轴墨卡托投影(UTM))
UTM地图适用于(经度不到几个度)小区域的全球高品质的地图。
这是一个椭圆形投影。
选项是类似于那些横轴麦卡托投影,另外添加
<,'zon
<,'hem
如果没有指定这些是自动计算的。
使用下列属性,默认为“正常”的椭球,球形地球的半径为1个单位,但也可以选择其他选项:
<,'ell
对于列表中的可用椭球尝试m_proj(“set”,“UTM”)。
UTM和所有其他的预测之间的最大区别是,不同于'正常'的投影坐标是在米的东向和北向。
要充分利用这一点,它往往是有益,调用m_proj,将‘rectbox’设置为‘on’,而不是使用所产生的m_grid(由于正常的MATLAB网格将成为以米为单位)长/纬度格。
●Sinusoidal
此突起通常称为“伪圆筒状”,由于纬圈线显示为直线,类似于其外观在圆柱形凸起赤道相切。
然而,子午圈弯曲在一起呈现投影以正弦的方式(因此而得名),使得地图是等面积的。
●Gall-Peters
纬圈和经圈都显示为直线,但纵坐标被扭曲,因此该区域被保留。
这对热带地区是非常有用的,但在极地地区是极端的失真。
●ConicProjections(圆锥投影)
圆锥投影,导致投影到圆锥体包裹球体周围。
圆锥体的顶点位于球体的旋转轴线。
该圆锥体不是在一个单一的纬度角正切,就是可以在两个分离的纬度横切球体。
这是一个有用的在中纬度地区大的东西方向的投影。
以下属性影响这些投影:
<,'lon
<,'lat
这些指定的地图上的范围。
<,'clo
在页面上显示为一个垂直的中心经度。
的默认值是平均的经度,虽然它可能被设置为任何值(甚至超出限制之一)。
<,'par
标准纬线可以被指定。
一个或两个平行线被给定,默认的是一个并行的平均纬度。
<,'rec
地图的限制可以基于纬度/经度(默认值),也可以是地图边界形成了一个确切的包含给定的限制的矩形。
除非该地区被映射的是小的,最好是离开这个“关闭”。
默认情况下是使用球形地球模型的映射转换。
然而,椭球坐标系也可以被指定。
这往往是有用的,只有做坐标转换(例如,如果一个特定的网格数据库,在这种投影,你想找到纬度/经度数据),因为是不可能用眼睛看到在一块土地上的差异。
使用特定的椭球体可以选择使用以下属性:
<,'ell
对于列表中的可用椭球,尝试m_proj('set','albers'),可以得到如下的选项:
normal
sphere
grs80
grs67
wgs84
wgs72
wgs66
wgs60
clrk66
clrk80
intl24
intl67
●AlbersEqual-AreaConic(阿尔伯斯等面积圆锥)
这一投影是相等的面积,但不保形
●LambertConformalConic(等角圆锥投影)
此投影是保形的,但不等面积
●Miscellaneousglobalprojections(多方面的全球投影)
有一些真的不适合上述任何类别的投影。
大多数这些都是全球投影(即它们表现出的是整个世界),而他们也被设计成“悦目”。
我不知道有什么用,他们是一般,但他们却很好的标志!
●Hammer-Aitoff
弯曲的经线和纬线等积投影。
●Mollweide
也被称为椭圆或Homolographic的等面积投影。
这个投影钟纬线是直(平行)的。
请注意,例如图4显示了一个相当复杂的使用,以减少失真,更标准的地图,可使用
m_proj('mollweide');
m_coast('patch','r');
m_grid('xaxislocation','middle');
●Robinson(罗宾逊)
不等区域或保形,但所谓的“顺眼”。
●是的,但我使用什么样的投影?
嗯,这取决于真正大面积映射。
通常情况下,对整个世界的地图使用墨卡托投影,虽然经常米勒圆柱投影看起来更好,因为它不过分强调极地地区。
另一种选择是的Hammer-Aitoff或Mollweide(其中有两极附近的经络弯曲)。
两者都是相等的面积,它可能不是一个好主意对于中间附近没有赤道的某个地方的地图。
罗宾森投影不是等面积的或者是不保形的,但一段时间是NationalGeographic(国家地理)的选择,也出现在IPCC的报告。
如果你正在策划一个大的北/南程度的东西,但不是很宽(例如,北美洲和南美洲,北大西洋和南大西洋),然后SinusoidalorMollweideprojections看起来还不错。
另一种选择是TransverseMercator(横轴墨卡托投影),虽然这是通常只用于非常大比例尺地图。
对于较小的区域内一个半球或其他(例如,澳大利亚,美国,地中海,北大西洋),你可能会选择一个conicprojection(圆锥投影)。
两个圆锥投影(AlbersEqual-AreaConic和LambertConformalConic)之间的差别是细微的,而且,如果你不知道很多关于投影,你使用哪一个可能不会带来多大的改变。
如果你表达的区域更小,那也就无所谓使用哪个投影。
墨卡托投影在许多情况下,我觉得有用的是斜的,因为你可以调整它沿长(窄)沿海区域。
如果地图沿线经度/纬度范围是确定的,使用TransverseMercator或ConicProjection(横轴墨卡托投影或圆锥投影)。
UTM投影也是有用的。
极地地区是传统的映射使用一个Stereographicprojection(立体投影),由于某种原因,它看起来不错,有一个“靶心”模式的纬度线。
如果你想要得到快速得到任何投影的样子,所有的功能都默认参数设置为“典型”的用法,即获得一个快速投影的样子,你可以这样做的,而无需很多的数值:
例如:
m_proj('stereographic');%Exampleforstereographicprojection
m_coast;
m_grid;
●地图比例尺
M_Map通常尺度的地图,它完全符合在当前轴。
如果你只是想要一个漂亮的图片(这是大部分的情况下),那么这正是你需要的。
另一方面,有时你想打印的东西,在一些精确的比例(也就是说,如果你真的喜欢坐在你的办公桌,一把尺子和一张纸,试图找出相隔多远,曼谷和东京)。
使用的m_scale的原始本-为1:
25万地图,请调用:
m_scale(250000);
之后,你画的一切(要小心-——一个1:
250000的世界地图是比8.5“X11”的纸大得多的)。
这个选项通常只适用于大比例尺的地图,即非常小的区域的地图)。
如果你想知道目前的尺度比例,不带任何参数调用m_scale将计算并返回该值。
要返回到默认缩放:
调用m_scale('auto')。
(PS-如果你想找到距离从曼谷到任何地方,画一个以曼谷(1344'N,10030'E)为中心的azimuthalequidistantprojectionoftheworld(世界等距方位投影),选择一个比较小的比例,像1:
200,000,000)。
另一种选择是使用范围环绕,见例11。
●Mapcoordinatesystems-geographicandgeomagnetic.
纬度/经度是常用的地图坐标系统。
在某些情况下UTM坐标也是有用的,但这些其实只是一个基于赤道和某些经度线的位置的简单变换。
另一方面,还有一些其他的一组轴坐标系的场合时是有用的。
例如,在空间物理学数据往往是根据磁极的坐标投射。
M_Map具有有限能力对于这些其它坐标系统中的数据处理。
m_coord让你改变坐标系,从地理地磁。
下面的代码为您提供了这样的想法:
lat=[25*ones(1,100)50*ones(1,100)25];
lon=[-99:
00:
-1:
-99-99];
clf
subplot(121);
m_coord('IGRF2000-geomagnetic');%Treatalllat/longsasgeomagnetic
m_proj('stereographic');
m_coast;
m_grid;
m_line(lon,lat,'color','r');%"lat/ln"assumedgeomagneticonthegeomagneticmap
m_coord('geographic');%Switchtoassuminggeographic
m_line(lon,lat,'color','c');%Nowtheyaretreatedasgeographic
subplot(122);
m_coord('geographic');%Defineallingeographic
m_proj('stereogra
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mmap 用法 详解