referenceEllipsoid

Опорный эллипсоид

Описание

referenceEllipsoid объект инкапсулирует опорный эллипсоид, смоделированный как сжатый сфероид с тремя дополнительными свойствами: имя, единица длины полуглавных и полунезначительных осей и числовой код EPSG.

Создание

Можно создать общий referenceEllipsoid объект с referenceEllipsoid функция описана здесь. Можно также создать referenceEllipsoid со свойствами, характерными для Мировой Геодезической Системы 1 984 опорных эллипсоида с помощью wgs84Ellipsoid функция.

Описание

пример

E = referenceEllipsoid создает referenceEllipsoid объект, который представляет сферу единичного радиуса.

пример

E = referenceEllipsoid(name) создает referenceEllipsoid объект, соответствующий nameИмя является нечувствительным к регистру. Значения SemimajorAxis и SemiminorAxis свойства исчисляются в метрах.

E = referenceEllipsoid(code) создает referenceEllipsoid объект, соответствующий числовому коду EPSG, code. Единица длины используется для SemimajorAxis и SemiminorAxis свойства зависят от эллипсоида, выбранного, и обозначаются в свойстве LengthUnit.

E = referenceEllipsoid(name,lengthUnit) и

E = referenceEllipsoid(code,lengthUnit) создайте referenceEllipsoid объект с SemimajorAxis и SemiminorAxis свойства в заданной единице длины, LengthUnit. Единица длины может быть любой единицей длины, поддержанной validateLengthUnit функция.

Входные параметры

развернуть все

Имя опорного эллипсоида в виде одного из значений в таблице Names of EPSG Ellipsoids.

Типы данных: char | string

Числовой код EPSG в виде пустого вектора или целого числа между 7 000 и 8000, несмотря на то, что не все целые числа в этой области значений являются допустимыми числовыми кодами EPSG. Для получения информации о допустимых кодах EPSG смотрите домашнюю страницу EPSG.

Типы данных: double

Единица длины в виде вектора символов или строкового скаляра. Можно задать любую единицу длины, которая поддерживается validateLengthUnit функция.

Типы данных: char | string

Свойства

развернуть все

Числовой код EPSG в виде пустого вектора или целого числа между 7 000 и 8000, несмотря на то, что не все целые числа в этой области значений являются допустимыми числовыми кодами EPSG. Для получения информации о допустимых кодах EPSG смотрите домашнюю страницу EPSG.

Когда опорный эллипсоид представляет сферу единичного радиуса или пользовательский эллипсоид, Code пустой вектор ([]).

Пример: 7030

Типы данных: double

Имя опорного эллипсоида в виде вектора символов или строкового скаляра. Когда вы создадите опорный эллипсоид путем определения его имени, используйте одно из значений в таблице Names of EPSG Ellipsoids.

Когда опорный эллипсоид представляет сферу единичного радиуса, Name вектор символов 'Unit Sphere'.

Пример: 'World Geodetic System 1984'

Типы данных: char | string

Единица длины для осей эллипсоида в виде вектора символов. Вектор символов может быть пустым, или это может быть любая единица длины, принятой validateLengthUnit функция.

Когда опорный эллипсоид представляет сферу единичного радиуса, LengthUnit пустой символьный вектор ''.

Пример: 'km'

Типы данных: char | string

Экваториальный радиус эллипсоида в виде положительного, конечного скаляра. SemimajorAxis свойство описывается в единицах длины, заданной LengthUnit.

Когда SemimajorAxis свойство изменяется, SemiminorAxis свойство масштабируется по мере необходимости, чтобы сохранить форму эллипсоида и значения связанных с формой свойств включая InverseFlattening и Eccentricity. Единственный способ изменить SemimajorAxis свойство состоит в том, чтобы установить его непосредственно, с помощью записи через точку.

Пример: 6378137

Типы данных: double

Расстояние от центра эллипсоида, чтобы орудовать шестами в виде неотрицательного, конечного скаляра. Значение SemiminorAxis всегда меньше чем или равно SemimajorAxis, и описывается в единицах длины, заданной LengthUnit.

Когда SemiminorAxis свойство изменяется, SemimajorAxis свойство остается неизменным, но форма изменений эллипсоида, которая отражается в изменениях в значениях InverseFlattening, Eccentricity, и другие связанные с формой свойства.

Пример: 6356752

Типы данных: double

Обратная величина выравнивания в виде положительной скалярной величины в области значений [1, Inf].

Значение обратного выравнивания, 1/f, вычисляется с помощью SemimajorAxis значение a и SemiminorAxis значение b согласно 1/f = a / (a-b). Значение 1/f Inf определяет совершенную сферу. Когда 1/f приближается 1, опорный эллипсоид приближается к сглаженному диску.

Когда InverseFlattening свойство изменяется, другое связанное с формой обновление свойств, включая Eccentricity. SemimajorAxis свойство остается неизменным, но значение SemiminorAxis настраивает, чтобы отразить новую форму.

Пример: 300

Типы данных: double

Первый эксцентриситет эллипсоида в виде неотрицательного скаляра в области значений [0, 1].

Значение эксцентриситета, ecc, вычисляется с помощью SemimajorAxis значение a и SemiminorAxis значение b согласно ecc = sqrtA2 B2A. Значение ecc 0 определяет совершенную сферу.

Когда Eccentricity свойство изменяется, другое связанное с формой обновление свойств, включая InverseFlattening. SemimajorAxis свойство остается неизменным, но значение SemiminorAxis настраивает, чтобы отразить новую форму.

Пример: 0.08

Типы данных: double

Это свойство доступно только для чтения.

Выравнивание эллипсоида в виде неотрицательного скаляра в области значений [0, 1].

Значение выравнивания, f, вычисляется с помощью SemimajorAxis значение a и SemiminorAxis значение b согласно f = (a-b)/a.

Типы данных: double

Это свойство доступно только для чтения.

Третье выравнивание эллипсоида в виде неотрицательного скаляра в области значений [0, 1].

Значение третьего выравнивания, n, вычисляется с помощью SemimajorAxis значение a и SemiminorAxis значение b согласно n = (a-b) / (a +b).

Типы данных: double

Это свойство доступно только для чтения.

Средний радиус эллипсоида в виде положительного, конечного скаляра. MeanRadius свойство описывается в единицах длины, заданной LengthUnit.

Средний радиус эллипсоида, r, вычисляется с помощью SemimajorAxis значение a и SemiminorAxis значение b согласно r = (2a+b)/3.

Типы данных: double

Это свойство доступно только для чтения.

Площадь поверхности эллипсоида в виде положительного, конечного скаляра. SurfaceArea свойство описывается в единицах площади, сопоставимых единица длины, заданной LengthUnit свойство.

Типы данных: double

Это свойство доступно только для чтения.

Объем эллипсоида в виде положительного, конечного скаляра. Volume свойство описывается в модулях объема, сопоставимого с единицей длины, заданной LengthUnit свойство.

Типы данных: double

Примеры

свернуть все

Создайте объект опорного эллипсоида путем определения имени эллипсоида.

e = referenceEllipsoid('GRS 1980')
e = 
referenceEllipsoid with defining properties:

                 Code: 7019
                 Name: 'GRS 1980'
           LengthUnit: 'meter'
        SemimajorAxis: 6378137
        SemiminorAxis: 6356752.31414036
    InverseFlattening: 298.257222101
         Eccentricity: 0.0818191910428158

  and additional properties:

    Flattening
    ThirdFlattening
    MeanRadius
    SurfaceArea
    Volume

Создайте тот же объект опорного эллипсоида путем определения кода 7019 EPSG.

e = referenceEllipsoid(7019)
e = 
referenceEllipsoid with defining properties:

                 Code: 7019
                 Name: 'GRS 1980'
           LengthUnit: 'meter'
        SemimajorAxis: 6378137
        SemiminorAxis: 6356752.31414036
    InverseFlattening: 298.257222101
         Eccentricity: 0.0818191910428158

  and additional properties:

    Flattening
    ThirdFlattening
    MeanRadius
    SurfaceArea
    Volume

Создайте объект опорного эллипсоида, задав модули. Для единицы длины можно задать любую единицу длины, принятой validateLengthUnit функция.

e = referenceEllipsoid('GRS80','km')
e = 
referenceEllipsoid with defining properties:

                 Code: 7019
                 Name: 'GRS 1980'
           LengthUnit: 'kilometer'
        SemimajorAxis: 6378.137
        SemiminorAxis: 6356.75231414036
    InverseFlattening: 298.257222101
         Eccentricity: 0.0818191910428158

  and additional properties:

    Flattening
    ThirdFlattening
    MeanRadius
    SurfaceArea
    Volume

Создайте опорный эллипсоид, задав GeoTIFFCodes.Ellipsoid поле из файла.

info = geotiffinfo('boston.tif');
e = referenceEllipsoid(info.GeoTIFFCodes.Ellipsoid)
e = 
referenceEllipsoid with defining properties:

                 Code: 7019
                 Name: 'GRS 1980'
           LengthUnit: 'meter'
        SemimajorAxis: 6378137
        SemiminorAxis: 6356752.31414036
    InverseFlattening: 298.257222101
         Eccentricity: 0.0818191910428158

  and additional properties:

    Flattening
    ThirdFlattening
    MeanRadius
    SurfaceArea
    Volume

Создайте пользовательский опорный эллипсоид путем изменения свойств опорного эллипсоида по умолчанию.

customPlanet = referenceEllipsoid;
customPlanet.Name = 'Tiny Planet';
customPlanet.LengthUnit = 'meter';
customPlanet.SemimajorAxis = 8000;
customPlanet.SemiminorAxis = 7900
customPlanet = 
referenceEllipsoid with defining properties:

                 Code: []
                 Name: 'Tiny Planet'
           LengthUnit: 'meter'
        SemimajorAxis: 8000
        SemiminorAxis: 7900
    InverseFlattening: 80
         Eccentricity: 0.157619002661481

  and additional properties:

    Flattening
    ThirdFlattening
    MeanRadius
    SurfaceArea
    Volume

Больше о

развернуть все

Советы

  • Когда вы задаете эллипсоид в терминах полуглавных и полунезначительных осей (а не полуглавной оси и обратного выравнивания, или полуглавной оси и эксцентриситета), маленькая потеря точности в последних нескольких цифрах Flattening, Eccentricity, и ThirdFlattening может произойти. Это неизбежно, но не влияет на результаты практического расчета.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020b

Представленный в R2012a