referenceEllipsoid

Эталонный эллипсоид

Описание

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

Создание

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

Описание

пример

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

пример

E = referenceEllipsoid(name) создает referenceEllipsoid объект, относящийся к name. 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 функция.

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

расширить все

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

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

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

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

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

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

Свойства

расширить все

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

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

Пример: 7030

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

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

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

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

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

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

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

Пример: 'km'

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

Экваториальный радиус эллипсоида, заданный как положительный, конечный скаляр. The 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. The SemimajorAxis свойство остается неизменным, но значение SemiminorAxis корректирует, чтобы отразить новую форму.

Пример: 300

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

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

Значение эксцентриситета, ecc, вычисляется с помощью SemimajorAxis a значений и SemiminorAxis значение b согласно ecc = sqrt(a2 - b2) / a. Значение ecc 0 обозначает совершенную сферу.

Когда Eccentricity изменяется свойство, обновляются другие связанные с формой свойства, включая InverseFlattening. The 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

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

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

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

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

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

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

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

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

Объем эллипсоида, заданный как положительный, конечный скаляр. The 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

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

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