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

Материал из Common History development
Перейти к навигации Перейти к поиску
(Алгоритм)
Строка 3: Строка 3:
 
Нарисуем форму Земли математически точно.  
 
Нарисуем форму Земли математически точно.  
  
Известно, что Земля - это эллипсоид с искажениями. Искажения называются "отклонениями геоида" (по английски "geoid undulations").
+
Известно, что Земля - это эллипсоид с искажениями. Искажения называются "отклонениями [[геоид]]а" (по английски "geoid undulations").
  
 
Беру формулу [[wikiru:Эллипс#В полярных координатах|эллипса в полярных координатах из википедии]] - [[file:EllipsFormulaWiki.png]]. Подставляю в данные [[lw:Earth2014|Earth2014]] - и тут меня ожидало разочарование: диапазон отклонений геоида оказался на 50 метров больше ожидаемого. Вместо 192м я получил 250м отклонений.
 
Беру формулу [[wikiru:Эллипс#В полярных координатах|эллипса в полярных координатах из википедии]] - [[file:EllipsFormulaWiki.png]]. Подставляю в данные [[lw:Earth2014|Earth2014]] - и тут меня ожидало разочарование: диапазон отклонений геоида оказался на 50 метров больше ожидаемого. Вместо 192м я получил 250м отклонений.

Версия 14:47, 27 декабря 2018

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

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

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

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

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


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

Использование 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_shapeError.jpg,

а в проекции HEALPix наоборот красивы 400px-Earth2014_1.jpg

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