Рельеф Земли - отклонения геоида: различия между версиями

Материал из Common History development
Перейти к навигации Перейти к поиску
(Формула эллипсоида)
Строка 14: Строка 14:
 
Проверил параметры эллипсоида: [[lw:Earth2014|Earth2014]] использует GRS80, википедия - WGS84, но радиусы у них идентичны ([[wikiru:GRS80|радиус оси экватора a = 6 378 137,0 м; радиус полярной оси b = 6 356 752,3141 м]]).
 
Проверил параметры эллипсоида: [[lw:Earth2014|Earth2014]] использует GRS80, википедия - WGS84, но радиусы у них идентичны ([[wikiru:GRS80|радиус оси экватора a = 6 378 137,0 м; радиус полярной оси b = 6 356 752,3141 м]]).
  
Оказалось, что не ту формулу эллипса я взял. Нужно брать формулу от автора данных [[lw:Earth2014|Earth2014]] - [[Christian Hirt|Кристиана Херта]].
+
Оказалось, что не ту формулу эллипса я взял. Нужно брать формулу http://logy.gq/images/3/3a/EllipsFormula.png (файл [http://ddfe.curtin.edu.au/models/Earth2014/Hirt_Rexer2015_Earth2014.pdf Hirt_Rexer2015_Earth2014.pdf]) от автора данных [[lw:Earth2014|Earth2014]] - [[Christian Hirt|Кристиана Херта]].
Находится она http://logy.gq/images/3/3a/EllipsFormula.png в файле [http://ddfe.curtin.edu.au/models/Earth2014/Hirt_Rexer2015_Earth2014.pdf Hirt_Rexer2015_Earth2014.pdf].
+
 
 
= Использование GIS =
 
= Использование GIS =
 
Пытался нарисовать карту в [[wikiru:Геоинформационная система|геоинформационной системе]] (называю в дальнейшем GIS).  
 
Пытался нарисовать карту в [[wikiru:Геоинформационная система|геоинформационной системе]] (называю в дальнейшем GIS).  

Версия 17:12, 27 декабря 2018

комментарии в LiveJournal Нарисуем форму Земли математически точно.

Известно, что Земля - это эллипсоид с искажениями. Искажения называются "отклонениями геоида" (по английски "geoid undulations").

Модель геоида[править]

Ожидаемые отклонения геоида согласно английской 330px-Geoid_height_red_blue_averagebw.png и русской википедий находятся в диапазоне 192,4 м от -107 м до +85,4 м.


Погрешностью высоты в 1 м, вызванной выбором модели отклонения геоида, пренебрегаю

Формула эллипсоида[править]

Беру формулу эллипса в полярных координатах из википедии - EllipsFormulaWiki.png. Подставляю в данные Earth2014 - и тут меня ожидало разочарование: диапазон отклонений геоида оказался на 50 метров больше ожидаемого. Вместо 192м я получил 250м отклонений.

Проверил параметры эллипсоида: Earth2014 использует GRS80, википедия - WGS84, но радиусы у них идентичны (радиус оси экватора a = 6 378 137,0 м; радиус полярной оси b = 6 356 752,3141 м).

Оказалось, что не ту формулу эллипса я взял. Нужно брать формулу EllipsFormula.png (файл Hirt_Rexer2015_Earth2014.pdf) от автора данных Earth2014 - Кристиана Херта.

Использование GIS[править]

Пытался нарисовать карту в геоинформационной системе (называю в дальнейшем GIS). Использовал бесплатную GIS GRASS. Наткнулся на ограничение: медленное преобразование карт при изменениях датума. GIS вроде как и поддерживают расчет наклона оси вращения оси, но в GRASS этих настроек не нашел. Также выяснилось, что при интенсивном изменении датума скорость GIS существенно падает. А моделировать изменение скорости и угла вращения Земли нужно обязательно.

Поэтому рисую карты самодельными алгоритмами.

Земля Файл:Earth.gif

Мерцания на береговых линиях показывает погрешности преобразования между равнопромежуточной и HEALPix проекциями. Палитры цветов получены из GRASS: water.png water и модифицированной gyr.png gyr.

Алгоритм[править]

Алгоритм расчета отклонений геоида выглядит так:

    protected override double GetAltitude(HealCoor pixel)
    {
        var a = 6378137d; // big axis, angle is measured from here
        var b = 6356752.3141;
        var e_2 = 1 - (b * b) / (a * a);

        var altitude = Relief.GetAltitude(pixel);
        var altitudeShape = ReliefBed.GetAltitude(pixel) + 6371000;

        var angle = Math.PI / 2 - pixel.Theta.Value;
        var sin_2 = Math.Sin(angle) * Math.Sin(angle);
        var ellipsoid = a * Math.Sqrt((1 - e_2 * (2 - e_2) * sin_2) / (1 - e_2 * sin_2));
        var undulation = altitudeShape - ellipsoid - altitude;
        return undulation;
    }

При его выполнении нашел закладку от Кристиана Херта. Я почти отправил ему письмо про как бы ошибку, но подумав, уразумел, что это просто "защита от дурака".

Смысл в том, что представляя данные двух вариантов: в точности 1 минута дуги и 5 минут дуги, Christian Hirt публикует файлы в равнопромежуточной проекции. А известно, что отклонения геоида версии EGM96 сделаны в сферических функциях. Преобразования между ними нетривиальные, поэтому предполагаю, что для неподготовленной публики он преобразовал EGM96 в равнопромежуточную проекцию красиво 400px-Earth2014_5.jpg

Но реально полезные данные из такого изображения в проекции HEALPix будут искажены 400px-Earth2014_5_shapeError.jpg


Я уже начал сомневаться в выборе проекции HEALPix для расчетов.

Но потом глянул данные Earth2014 в точности 1 минута дуги. Оказалось, что там EGM96 преобразована для расчетов правильно 400px-Earth2014_1.jpg, а в равнопромежуточной проекции отклонения геоида визуально искажены 400px-Earth2014_1_shapeError.jpg

Диапазон отклонений геоида[править]

В точности HEALPix k=10 (12,6 миллионов тазиков) диапазон отклонений геоида равен 195,5м от -107.4м до +88.1м

Отличие в 3,1 метра от ожидаемых отклонений объясняю погрешностью преобразования между равнопромежуточной и HEALPix проекциями до 3 метров и погрешностью данных проекта Earth2014 до 1 метра. Погрешностью 3 метра, вызванной преобразованиями между проекциями, пренебрегаю. Погрешность в 1 м, вызванная выбором модели геоида, не зависит от данного алгоритма.

Анимация[править]

Для наглядности представляю вращающуюся Землю с преувеличенными отклонениями поверхности, пропорциональными отклонениям геоида.

[[]]


  1. тоже самое - geoid undulations, using units of gravity Geoids_sm.jpg
    Spherical harmonics are often used to approximate the shape of the geoid. The current best such set of spherical harmonic coefficients is EGM96... equation describes the Earth's gravitational potential V, not the geoid itself


[править]

aw:PlanetMaker нормали создал с помощью http://cpetry.github.io/NormalMap-Online

вмятости - это отклонения геоида в серых оттенках

для совмещения с контурами материков добавил карту earth_nightlightsonly_2048x1024.gif