主要内容

距离

点之间的距离在球形或椭球

描述

(arclen,阿兹]=距离(lat1,lon1,lat2,lon2)计算长度,arclen大圆弧线连接对的点一个球体的表面。在每种情况下,较短的(小)弧。函数也可以计算出方位角》,阿兹第二点的每一对关于第一个(即的角度穿过子午线弧包含第一点)。

(arclen,阿兹]=距离(lat1,lon1,lat2,lon2,椭球体)计算测地线弧长和方位假设点躺在参考椭球体定义的输入椭球体

例子

(arclen,阿兹]=距离(pt1,pt2)接受N2双点的坐标数组,pt1pt2,经度和纬度坐标存储在第一列在第二列坐标。

这个语法是等价的arclen =距离(pt1 (: 1), pt1 (:, 2), pt2 (: 1), pt2 (:, 2))

(arclen,阿兹]=距离(pt1,pt2,椭球体)计算测地线弧长和方位假设点躺在参考椭球体定义的输入椭球体

(arclen,阿兹]=距离(___,单位)还指定了角度单位的纬度和经度坐标的前面的语法。

(arclen,阿兹]=距离(方法,___)还指定了是否跟踪是一个大圆/测地线或恒向线弧的前面的语法。

例子

发现沿着两条轨道距离的差异

使用pt1, pt2符号,找到距离诺福克,弗吉尼亚州(37°N, 76°W),圣文森特角,葡萄牙(37°N, 9°W),在直布罗陀海峡。这两个点之间的距离取决于跟踪方法。

arclen =距离(“垃圾收集”[-76],[37岁,9])
arclen = 52.3094
arclen =距离(“自”[-76],[37岁,9])
arclen = 53.5086

区别这两个轨道是1.1992度,约72海里。这代表了大约2%的总行程距离。成本的权衡是72英里,整个旅行可以与一个固定的恒向线90º,由于东部,而为了遵循大圆路径越短,课程必须不断改变。

子午线和赤道,大圈和罗盘方位线重合,所以的距离都是一样的。例如,

%大圆距离arclen =距离(37岁,-76、67、-76)
arclen = 30.0000
%恒向线距离arclen =距离(“自”37岁的-76、67、-76)
arclen = 30.0000

输入参数

全部折叠

指定的纬度和经度坐标,第一组数字标量或数字数组。除非表达的坐标是度单位被指定为“弧度”

数据类型:|

第二组的纬度和经度坐标,指定为一个数字标量或数字数组。除非表达的坐标是度单位被指定为“弧度”

数据类型:|

第一套点坐标,作为指定N2数字矩阵。pt1相当于[lat1 lon1]lat1lon1是列向量。

数据类型:|

第二组点坐标,作为指定N2数字矩阵。pt2相当于[lat2 lon2]lat2lon2是列向量。

数据类型:|

参考椭球体,作为一个指定referenceSphere,referenceEllipsoid,或oblateSpheroid对象,或一个双元素向量形式(semimajor_axis偏心)

例子:referenceEllipsoid (“GRS80”)

例子:(6378.137 - 0.0818191910428158)

角纬度和经度坐标的单位,指定为“度”“弧度”

数据类型:字符

跟踪方法,指定为下列字符之一的向量。

  • “垃圾收集”——计算球面上大圆距离和测地线距离计算椭球。

  • “自”——恒向线距离计算球形或椭球。

数据类型:字符

输出参数

全部折叠

弧长,作为一个数字返回标量或相同大小的数组作为输入经度和纬度数组,lat1,lon1,lat2lon2。当指定坐标使用坐标数组pt1pt2,然后arclen是一个数值向量的长度N

  • 椭球体没有指定,arclen表示在弧角度或弧度,一致的价值单位

  • 椭球体是指定的,arclen,表示在同一长度单位的半长轴椭球。

数据类型:

第二点的方位每一对第一,作为数字返回标量或相同大小的数组作为输入经度和纬度数组,lat1,lon1,lat2lon2。当指定坐标使用坐标数组pt1pt2,然后arclen是一个数值向量的长度N阿兹从北开始顺时针测量的。

数据类型:|

提示

  • nonscalar大小的纬度和经度坐标,lat1,lon1,lat2,lon2,必须是一致的。当给定一个标量和数组输入,距离自动扩展标量函数输入数组的大小相匹配。

  • 表达输出arclen作为一个弧长度或弧度,省略了椭球体论点。这是可能只在一个球体。如果椭球体提供,arclen是一个距离用相同的单位表示的半长轴椭球。指定椭球体作为R [0]来计算arclen距离在一个球体的半径R,arclen拥有相同的单位R

算法

距离计算测地线降解缓慢增加距离,可能会分解为分几乎是正相反的,以及当这两点非常接近赤道。此外,对于计算椭球,有一个小但有限的输入空间,组成的双点都几乎映的位置这两点下降接近赤道(但不是精确)。在这种情况下,发出一个警告,arclen阿兹“问题对。”

选择

两个点之间的距离可以用两种方式计算。大圈(球体)和测地线(椭球),两点之间的距离是最短的表面距离。恒向线行,距离测量沿恒向线穿过这两个点,这不是,一般来说,最短的表面之间的距离。

当你需要计算距离和方位同一点(s),这是更有效的与一个调用距离。也就是说,使用

(arclen az) =距离();
而不是越慢
arclen =距离()阿兹=方位()

版本历史

之前介绍过的R2006a