主要内容

参考球状体

当地球(或另一个球形的身体如月球)被建模为一个球体有一个标准的半径,它被称为参考范围。同样地,当模型是一个扁平的扁椭球面,与标准半长轴和标准逆压扁,半短轴,或偏心,它被称为参考椭球体。这两个模型是球状的形状,所以每个可以被认为是一种参考球体。映射工具箱™支持多种表征球状体供参万博1manbetx考:referenceSphere,referenceEllipsoid,oblateSpheroid对象和一个年长的代表,椭球向量

referenceSphere对象

当使用一个严格的球形模型,一般情况下应该使用referenceSphere对象(虽然两referenceEllipsoidoblateSpheroid可以代表一个完美的球体)。

默认情况下,referenceSphere返回一个无因次单位球:

referenceSphere
ans = referenceSphere定义属性:名称:单位球LengthUnit:”半径:1和附加属性:SemimajorAxis SemiminorAxis InverseFlattening偏心压扁ThirdFlattening MeanRadius SurfaceArea体积

你可以请求特定主体的名字,将米半径默认值:

地球= referenceSphere (“地球”)
地球= referenceSphere定义属性:名称:“地球”LengthUnit:“计”半径:6371000和附加属性:SemimajorAxis SemiminorAxis InverseFlattening偏心压扁ThirdFlattening MeanRadius SurfaceArea体积

如果需要你可以重置长度单位(和适当的半径是新):

地球。LengthUnit =“公里”
地球= referenceSphere定义属性:名称:“地球”LengthUnit:“公里”半径:6371和附加属性:SemimajorAxis SemiminorAxis InverseFlattening偏心压扁ThirdFlattening MeanRadius SurfaceArea体积

或指定长度单位的建设:

referenceSphere (“地球”,“公里”)
ans = referenceSphere定义属性:名称:“地球”LengthUnit:“公里”半径:6371和附加属性:SemimajorAxis SemiminorAxis InverseFlattening偏心压扁ThirdFlattening MeanRadius SurfaceArea体积

任何长度单位支持万博1manbetxvalidateLengthUnit可以使用。支持各种缩写对于大多数长度单位,看到的万博1manbetxvalidateLengthUnit对于一个完整的列表。

一件事需要注意referenceSphere仅显示定义属性,为了减少杂波在命令行。(这种方法节省少量的计算。)尤其是,不要忽视相关的SurfaceArea体积属性,即使他们不显示。球形的表面积地球模型,例如,很容易获得通过SurfaceArea属性:

earth.SurfaceArea
ans = 5.1006 e + 08年

这个结果在平方公里,因为LengthUnit地球属性的对象是有价值的“公里”

映射工具箱编程时它可以被意识到referenceSphere包括所有的几何性质referenceEllipsoidoblateSpheroid(SemimajorAxis,SemiminorAxis,InverseFlattening,偏心,压扁,ThirdFlattening,MeanRadius,以及SurfaceArea,体积)。这些属性可以设置在一个referenceSphere,和一些值是固定的所有领域。偏心总是0为例。但他们提供了一个灵活的编程环境,因为接受的任何几何计算referenceEllipsoid也将正常运行了吗referenceSphere。这是一个类型的多态性,不同的类支持常见,或强烈重叠的接口。万博1manbetx

referenceEllipsoid对象

当使用一个扁球体代表地球(或另一个球形的身体),一般情况下应该使用referenceEllipsoid对象。一个重要的例外出现某些小型地图预测,其中许多定义只有在球面上。然而,所有重要的预测用于大规模的工作,包括横轴墨卡托投影和兰伯特正形圆锥上定义椭球的球体。

就像referenceSphere,referenceEllipsoid返回一个默认无量纲单位球:

referenceEllipsoid
ans = referenceEllipsoid定义属性:代码:[]的名字:“单位球”LengthUnit:“SemimajorAxis: 1 SemiminorAxis: 1 InverseFlattening:正偏心:0和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积

更常见的情况是,你会请求一个特定椭球的名字,导致一个对象与米半长和半短轴属性。例如,下面的返回referenceEllipsoidSemimajorAxisInverseFlattening属性设置匹配1980年大地参考系的定义参数(GRS 80)。

grs80 = referenceEllipsoid (“1980年大地参考系统”)
grs80 = referenceEllipsoid定义属性:代码:7019姓名:“大地参考系统1980”LengthUnit:“计”SemimajorAxis: 6378137 SemiminorAxis: 6356752.31414036 InverseFlattening: 298.257222101离心率:0.0818191910428158和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积

在一般情况下,您应该使用相对应的参考椭球体的大地基准坐标数据的引用。例如,GRS 80椭球为使用指定坐标引用1983年的北美基准面(NAD 83)。

的情况下referenceSphere如果需要,你可以重置长度单位:

grs80。LengthUnit =“公里”
grs80 = referenceEllipsoid定义属性:代码:7019姓名:“大地参考系统1980”LengthUnit:“公里”SemimajorAxis: 6378.137 SemiminorAxis: 6356.75231414036 InverseFlattening: 298.257222101离心率:0.0818191910428158和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积

或指定长度单位的建设:

referenceEllipsoid (“1980年大地参考系统”,“公里”)
ans = referenceEllipsoid定义属性:代码:7019姓名:“大地参考系统1980”LengthUnit:“公里”SemimajorAxis: 6378.137 SemiminorAxis: 6356.75231414036 InverseFlattening: 298.257222101离心率:0.0818191910428158和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积

任何长度单位支持万博1manbetxvalidateLengthUnit可以使用。

命令行显示包括四个几何性质:SemimajorAxis,SemiminorAxis,InverseFlattening,偏心。任何对这些属性,只要至少一个轴长度,足以完全定义一个扁球;构成一个相互依赖的四个属性集。参数InverseFlattening偏心作为一组并不足以定义一个椭球,因为两者都是无量纲的形状的属性。这些参数都不提供长度范围内,,此外,是相互依赖:ecc =√(2 - f * f)

此外,有五个相关的属性,不显示,为了减少杂乱在命令行:压扁,ThirdFlattening,MeanRadius,SurfaceArea,体积SurfaceArea体积以同样的方式作为他们的工作referenceSphere同行。继续前面的例子中,GRS的面积80平方公里(因为椭球LengthUnit“公里”),容易获得如下:

grs80.SurfaceArea
ans = 5.1007 e + 08年

看到referenceEllipsoid参考页面定义的形状属性,允许的值的名字财产和信息代码财产。

1984年世界大地测量系统

部分原因是美国广泛使用的导航星全球定位系统(GPS),这是与1984年世界大地系统(WGS 84), WGS 84参考椭球体通常是合适的选择。为方便和速度(通过绕过表查找步骤),这是一个好主意在这种情况下使用wgs84Ellipsoid例如,函数

wgs84 = wgs84Ellipsoid;

前面的相当于行:

wgs84 = referenceEllipsoid (“wgs84”);

但更容易和更快。您还可以指定一个长度单位。wgs84Ellipsoid (lengthUnit),相当于referenceEllipsoid (wgs84, lengthUnit),在那里lengthUnit任何单位接受的价值吗validateLengthUnit函数。

例如,下两个命令显示的表面积WGS 84椭球5 x 10 ^ 14平方米多一点:

s = wgs84Ellipsoid
s = referenceEllipsoid定义属性:代码:7030姓名:“1984年世界大地系统”LengthUnit:“计”SemimajorAxis: 6378137 SemiminorAxis: 6356752.31424518 InverseFlattening: 298.257223563离心率:0.0818191908426215和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积
s.SurfaceArea
ans = 5.1007 e + 14

椭球向量

一个椭球向量是一个2×1双的形式:(semimajor_axis偏心)。不像一个球体对象(任何实例referenceSphere,referenceEllipsoid,或oblateSpheroid),一个椭球向量不是自我记录。椭球向量是没有自我识别。你必须知道,一个给定的2×1矢量的确是一个椭球做出任何使用它。这表示没有验证semimajor_axis是真实的和积极的,例如,你必须为自己做这样的验证。

许多工具箱函数接受椭球向量作为输入,但这样的函数接受球体对象一样,刚刚说明的原因,球体在椭球向量对象推荐。以防你自己写了一个函数需要一个椭球向量作为输入,或得到了别人的这样一个函数,请注意,您可以轻松地将任何球体对象年代成一个椭球向量如下:

[s。SemimajorAxis s.Eccentricity]

这意味着您可以构建一个球体对象使用任何三个类的构造函数,或wgs84Ellipsoid功能,手从结果的形式一个椭球向量,如果必要的。

oblateSpheroid对象

oblateSpheroid的超类referenceEllipsoid。一个oblateSpheroid就像一个对象referenceEllipsoid对象-它的代码,的名字,LengthUnit属性。事实上,主要的角色oblateSpheroid类是提供所需的纯粹的几何属性和行为referenceEllipsoid类。

在大多数情况下,您可以简单地忽略这种区别,oblateSpheroid类本身的内部软件组成。是无害的,因为一个referenceEllipsoid对象可以做任何事情,使用任何一个oblateSpheroid可以。

不过,您可以使用oblateSpheroid直接在处理一个椭球向量没有指定名称或长度单位。例如,计算椭球的体积的半长轴的偏心值2000和0.1,如下面所示。

e = 0.1 [2000];s = oblateSpheroid;年代。SemimajorAxis = e (1);年代。(2)s.Volume偏心= e
s = oblateSpheroid定义属性:SemimajorAxis: 2000 SemiminorAxis: 1989.97487421324 InverseFlattening: 199.498743710662离心率:0.1和附加属性:压扁ThirdFlattening MeanRadius SurfaceArea体积ans = 3.3342 e + 10

当然,因为的长度单位e的单位,未指明的吗s.Volume同样是未指定的。