pathdist文档

pathdist函数使用距离函数计算沿着数组lat和lon给出的路径行进的累计距离。这可能是有用的变量,如冰厚度或速度作为沿船舶轨道,雪地摩托路径,飞行路线,或卫星轨道距离的函数。

需要Matlab的映射工具箱。总是假设WGS84椭球。

如果您的工作与南极洲有关,并且您没有Matlab映射工具箱的许可证,您可以使用pathdistps,其结果与pathdist,尽管由于极面投影的固有失真,其精度可能略低。

内容

语法

pathDistance = pathdist(lat,lon) pathDistance = pathdist(…,LengthUnit) pathDistance = pathdist(…,track) pathDistance = pathdist(…,“refpoint”,[reflat reflon])

描述

pathDistance = pathdist(lat,lon)返回沿着(给出的路径行进的累计距离。纬度| |离子,)。距离默认以米为单位,参考WGS84椭球。的pathDistance数组的大小将与纬度而且

pathDistance = pathdist(…,LengthUnit)指定任何有效的长度单位。以下是一些例子LengthUnit选项。请参阅有关文档validateLengthUnit以获取完整的选项列表。

pathDistance = pathdist(…,track)使用输入字符串track指定大圆/测地线或垂直直线弧。如果track等于“垃圾收集”(默认值),然后在球面上计算大圆距离,在WGS84椭球上计算测地线距离。如果track等于“自”,则计算WGS84椭球上的恒向线距离。

pathDistance = pathdist(…,“refpoint”,[reflat reflon])引用到路径上最近点的路径距离[reflat reflon].对于这个计算,pathdist找到了重点纬度而且哪一个最近[reflat reflon]假设这一点纬度|lon|是零点。这只是一个近似值,在非常急剧弯曲、交叉或面条状路径的情况下可能会给出错误的结果;在哪里[reflat reflon]远离路径上的任何一点,或者路径上的点间隔很远。

例1:南极洲的海岸线有多长?

对于本例,我们将使用来自Mouginot等人。我们用antbounds_data功能:

[lat,lon] = antbounds_data(“海岸”);距离地球南极= pathdist(纬度,长,“公里”);DistanceAroundAntarctica(结束)
Ans = 3.5491e+04

所以,绕着南极洲的海岸线走一圈,你就需要长途跋涉3.5万公里。让我们来看看经度是行进距离的函数,如果我们顺时针绕着大陆走:

朗图(DistanceAroundAntarctica / 1000年,“b”。)轴;盒子;包含(行进距离(数千公里)) ylabel (“经”

例2:计算GPS测量值标出的路线上的距离

本例使用内置的sample_route.gpx路线。

路由= gpxread(“sample_route.gpx”);%一些样本数据纬度;lon =路由。经度;时间= 0:255;假设GPS测量每分钟记录一次。创建路由的映射:图(“位置”,[100 50 560 800]) subplot(3,1,1) usamap([min(lat)-。05年马克斯(lat) + . 05], [min(朗)。08 max(lon)+.08]) plotm(lat,lon,“ko - - - - - -”) textm(纬度(1),经度(1),“开始”“颜色”,(。01 .7 .1])文本(lat(结束),lon(结束),“结束”“颜色”“r”%地块行进距离:metertravelled = pathdist(latt,lon);subplot(3,1,2) plot(time, metertravelled)方框;轴;包含(的时间(分钟)) ylabel (“米旅行”%绘图速度:speed = diff(metertravelled /1000)./diff(time/60);Subplot (3,1,3) plot(时间(2:结束)-.5,速度)框;轴包含(的时间(分钟)) ylabel (“速度(公里/小时)”

例3:计算路径长度(以米为单位)

在上面的图中,我们将在(42.354 N, 71.2 W)处定义一个参考点,然后我们将观察旅行时间作为到参考点距离的函数。

Reflat = 42.354;Reflon = -71.2;次要情节(1,1)plotm (reflat reflon,“英国石油公司”) textm (reflat reflon,“参考点”“颜色”“b”) kmFromRefPt = pathdist(lat,lon,“refpoint”, (reflat reflon),“公里”);subplot(3,1,2) plot(kmFromRefPt,time) ylabel(行进时间(分钟))包含(距离参考点的距离(公里))轴;盒子

援引AMT

如果此功能或南极测绘工具的任何其他部分对您有用,请引用描述AMT的论文。

格林,C. A.,格威瑟,D. E.和布兰肯希普,D. D.南极绘图工具Matlab。计算机与地球科学.104(2017)页151-157。doi: 10.1016 / j.cageo.2016.08.003

作者信息:

这个函数是由查德·a·格林德克萨斯大学奥斯汀分校地球物理研究所(UTIG).2014年6月23日。2015年1月更新,包括支持更长的单位。万博1manbetx