exponenta event banner

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 (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 = sqrt(а2 - b2 )/а. Значение 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

Создайте тот же ссылочный эллипсоид, указав код 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