MATLAB地图工具箱学习总结(二)大圆和恒向线
MATLAB地图工具箱学习总结(二)大圆和恒向线
MATLAB地图工具箱学习总结系列:
(一)从地图投影说起
(二)大圆和恒向线
(三)地图工具箱的基本知识
(四)自定义投影
今天要和大家谈一谈大圆、恒向线航道的画法。还是先从案例开始说起,再分别介绍相关的函数。
1 作业案例:地图投影作业6
在作业6中,李老师要求我们画出两点间的大圆航线、恒定线航线和两者混合的航线。我一开始没有找到gcwaypts函数,导致自己花了一点时间编写了一段代码实现,但效果并不好,存在误差。后来找到了神奇的gcwaypts函数,一切也就迎刃而解。在本文中,我将会把两种方法都简单介绍一下。
首先是gcwaypts的演示事例,源代码和效果如下图所示:
landareas=shaperead('landareas.shp','UseGeoCoords',true);
axesm('mercator','Frame','on','Grid','on','origin',[ ]);
geoshow(landareas,'FaceColor',[ .],'EdgeColor',[. . .]);
[pointlat pointlong]=gcwaypts(,,,-,);
geoshow(pointlat,pointlong)
pointTrack=track2('gc',,,,-);
plotm(pointTrack);

接下来是我自己写了一个简单的脚本,主要应用了track2函数.

思路如下:由于track2函数生成了一串点集(默认为100个),当然,track2函数还可以自己设定点的数目,点数越大自然误差越小。根据输入的段数,根据数组分别求出每一段起始点的坐标,再依次连接即可。不过生成的路径略有偏差。

从上面两幅图也可以看出,虽然后者有误差,但误差并不大。
接下来我就要讲讲相关函数的用法了。
2 track1和track2函数的用法
track1和track2这两个函数都可以用于描绘轨迹。获取的是一串点集,而通过连接点集即可描绘出具体的轨迹。
(1) track1的基本用法:track1(lat,lon,az,arclen)
其中,lat,lon分别代表起始点的经纬度坐标,az代表轨迹的方位角,arclen代表的是距离,单位为角度,也可以是一个角度范围[a b]从a度到b度
[lattrkgc,lontrkgc]=track1(,,,[- ]);
plotm(lattrkgc,lontrkgc,'g');

(2) track2的基本用法:track2(lat1,lon1,lat2,lon2)
其中,lat1,lon1,lat2,lon2分别是起始点和终止点的经纬度。
(3) 'gc'和'rh':在track1和track2中都可以看到这样两个参数,其实也很好理解,'gc'是大圆,'rh'是恒向线,只要在一开始声明,最后的轨迹即为所需要的。
(4) trackg的用法:trackg可以通过交互计算创建大圆。在命令行输入后只需要在地图上点击相应的位置,设置起始终止点,即可自动画出大圆线。倘若画完之后,按住shift点击航线,可以自动跳出下图对话框,可以调整航线的一些参数。

3 gcwaypts函数的用法:
gcwaypts是解决本文开始的案例最佳的方案。其功能正是在大圆上寻找等距航线。其基本用法是:[lat lon]=gcwaypts[lat1,lon1,lat2,lon2,nlegs],其中lat1~lon2四个参数分别代表的是航线起始点的经纬度坐标,nlegs代表了航线将分成几段。让我们再来返回到最初的案例,分析一下代码。
landareas=shaperead('landareas.shp','UseGeoCoords',true);
axesm('mercator','Frame','on','Grid','on','origin',[ ]);
geoshow(landareas,'FaceColor',[ .],'EdgeColor',[. . .]);
[pointlat pointlong]=gcwaypts(,,,-,);
geoshow(pointlat,pointlong)
pointTrack=track2('gc',,,,-);
plotm(pointTrack);
其中起始点设置为靠近北京的地区,终止点设置为旧金山地区,将航线分为3段,那么最后就显示出了等距航线。
今天关于MATLAB的问题就说这么多,这篇文章也是拖了两周才最终完成。
在接下来的地图投影课程中题目也是越来越难啦。不过博主会加油争取把所有的相关知识点都讲清楚上传的!
天靖居士
2016.5.9
8.17更新说明:具体代码请参考:https://git.oschina.net/kkyyhh96/MapProjectInMatlab
有关地图工具箱其他文章,请参看:
MATLAB地图工具箱学习总结系列:
(一)从地图投影说起
(二)大圆和恒向线
(三)地图工具箱的基本知识
(四)自定义投影
MATLAB地图工具箱学习总结(二)大圆和恒向线的更多相关文章
- MATLAB地图工具箱学习心得(二)设计可变参数和位置拾取的“放大镜”式投影程序
最近刚好因为一些原因整理这方面的内容,所以还是把这篇鸽了一年多的博客顺手写出来了∠( ᐛ 」∠)_.因为是当时课程设计的一部分,程序上难免会有一些不足和bug,在这里将设计的思路分享给大家. 本篇博客 ...
- MATLAB地图工具箱学习总结(一)从地图投影说起
MATLAB地图工具箱学习总结(一)从地图投影说起 前言 本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业.从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会 ...
- MATLAB地图工具箱学习总结(三)地图工具箱的基本知识
MATLAB地图工具箱学习总结(三)地图工具箱的基本知识 今天想要介绍的是一些比较基础的函数.了解了这些函数,地图投影的基本概念才能真正明白.而要想继续研究MATLAB中有关地图投影的函数,尤其是未来 ...
- MATLAB地图工具箱学习心得(一)关于地图分带投影的拼接
关于matlab地图投影系列: MATLAB地图工具箱学习心得(二)设计可变参数和位置拾取的"放大镜"式投影程序 --- 本学期的地图投影课程已经结束了,这篇博客用于记录自己在学习 ...
- MATLAB地图工具箱学习总结(四)自定义投影
MATLAB地图工具箱学习总结(四)自定义投影 这是本系列的最后一篇文章,准备给大家讲讲自定义投影怎么做.在做这项作业的时候,自己也是花了不少时间,将所有地图投影源文件都看了一遍,简单分析了一下源代码 ...
- Matlab神经网络工具箱学习之二
螃蟹的分类 这个例子的目的是根据螃蟹的品种.背壳的长宽等等属性来判断螃蟹的性别,雄性还是雌性. 训练数据一共有六个属性: species, frontallip, rearwidth, length, ...
- MATLAB 地图工具箱 m_map 的安装和入门技巧(转)
reference: http://blog.sina.com.cn/s/blog_8fc890a20102v6pm.html 需要用一些地图工具,arcgis懒得装了,GMT(generic m ...
- Matlab神经网络工具箱学习之一
1.神经网络设计的流程 2.神经网络设计四个层次 3.神经网络模型 4.神经网络结构 5.创建神经网络对象 6.配置神经网络的输入输出 7.理解神经网络工具箱的数据结构 8.神经网络训练 1.神经网络 ...
- MATLAB统计工具箱 转
D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...
随机推荐
- SQL2014 error 40 ( Microsoft SQL Server, 错误2)
可能是安装了SQL EXPRESS版 尝试使用(local)\SQLEXPRESS 作为服务器名称登陆. 用 计算机名\实例名 作为用户名登录.
- QT 调用VS2015编写的Dll
最近在用QT调用VC生成的库,QT使用的是MinGW调试器,出现与动态库不兼容的问题,最后发现QT只能识别VC生成的C格式下的动态库 也就是在导入导出设置时加入extern "C" ...
- scrollViewDidEndScrollingAnimation和scrollViewDidEndDecelerating的区别
#pragma mark - 监听 /** * 点击了顶部的标题按钮 */ - (void)titleClick:(XMGTitleButton *)titleButton { // 修 ...
- Android出现java.net.SocketException: Permission denied报错
是由于权限问题导致的,在manifests中找到AndroidManifest.xml 在manifest节点下新增 <uses-permission android:name="an ...
- MonkeyTest简单实用介绍
什么是Monkeytest? monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键灯操作来对设备上的程序进行压力测试,检测程序发 ...
- 使用Visual Studio扩展插件Visual assist X给代码插入注释模板
Visual Assist 是由Whole Tomato公司为Microsoft Visual Studio开发的一款插件.它对Visual Studio的智能提示功能和代码高亮功能进行了增强,同时还 ...
- PO VO BO DTO POJO DAO(转)
2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. PO(bea ...
- python爬虫
预:网页的组成 HTML(结构)+css(样式)+javascript(功能) 爬虫主要针对的是HTML和css HTML: <div></div>div标签 代表网页中某个区 ...
- 打开QQ会话
Android:String url="mqqwpa://im/chat?chat_type=wpa&uin=123456";startActivity(new Inten ...
- (三)内存 SDRAM 驱动实验 (杨铸 130 页)(勉强能懂个大概)
SDRAM 芯片讲解: 地址: 行地址 (A0-A12) 列地址 (A0-A8) 片选信号(BA0 BA1)(L-BANK)(因为SDRAM有 4片) 两片SDRAM 连线唯一区别在 UDQM ...