Рельеф Земли - отклонения геоида: различия между версиями
(→Диапазон отклонений геоида) |
(→Диапазон отклонений геоида) |
||
Строка 62: | Строка 62: | ||
В точности [[lw:HEALPix|HEALPix]] k=10 (12,6 миллионов тазиков) диапазон отклонений геоида [[lw:file:Earth2014 1min lines2048.jpg|равен 195,5м]] от -107.4м до +88.1м | В точности [[lw:HEALPix|HEALPix]] k=10 (12,6 миллионов тазиков) диапазон отклонений геоида [[lw:file:Earth2014 1min lines2048.jpg|равен 195,5м]] от -107.4м до +88.1м | ||
− | Отличие в 3,1 метра от ожидаемых отклонений объясняю погрешностью [[преобразования между равнопромежуточной и HEALPix проекциями]] до 3 метров и погрешностью [[ | + | Отличие в 3,1 метра от ожидаемых отклонений объясняю погрешностью [[преобразования между равнопромежуточной и HEALPix проекциями]] до 3 метров и погрешностью данных проекта [[lw:Earth2014|Earth2014]] до 1 метра. {{error|3|метра|чем=преобразованиями между проекциями|от=преобразования между равнопромежуточной и HEALPix проекциями}}. {{error|1|чем=выбором модели отклонения геоида|от=Геоид#Точность}} тоже, и эта погрешность не зависит от данного [[#Алгоритм|алгоритма]]. |
= Анимация = | = Анимация = |
Версия 17:01, 27 декабря 2018
комментарии в LiveJournal Нарисуем форму Земли математически точно.
Известно, что Земля - это эллипсоид с искажениями. Искажения называются "отклонениями геоида" (по английски "geoid undulations").
Беру формулу эллипса в полярных координатах из википедии - . Подставляю в данные Earth2014 - и тут меня ожидало разочарование: диапазон отклонений геоида оказался на 50 метров больше ожидаемого. Вместо 192м я получил 250м отклонений.
Ожидаемые отклонения геоида согласно английской и русской википедий находятся в диапазоне 192,4 м от -107 м до +85,4 м.
Проверил параметры эллипсоида: Earth2014 использует GRS80, википедия - WGS84, но радиусы у них идентичны (радиус оси экватора a = 6 378 137,0 м; радиус полярной оси b = 6 356 752,3141 м).
Оказалось, что не ту формулу эллипса я взял. Нужно брать формулу от автора данных Earth2014 - Кристиана Херта.
Находится она в файле Hirt_Rexer2015_Earth2014.pdf.
Использование GIS[править]
Пытался нарисовать карту в геоинформационной системе (называю в дальнейшем GIS). Использовал бесплатную GIS GRASS. Наткнулся на ограничение: медленное преобразование карт при изменениях датума. GIS вроде как и поддерживают расчет наклона оси вращения оси, но в GRASS этих настроек не нашел. Также выяснилось, что при интенсивном изменении датума скорость GIS существенно падает. А моделировать изменение скорости и угла вращения Земли нужно обязательно.
Поэтому рисую карты самодельными алгоритмами.
Земля Файл:Earth.gif
Мерцания на береговых линиях показывает погрешности преобразования между равнопромежуточной и HEALPix проекциями. Палитры цветов получены из GRASS: water и модифицированной 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 в равнопромежуточную проекцию красиво
Но реально полезные данные из такого изображения в проекции HEALPix будут искажены
Я уже начал сомневаться в выборе проекции HEALPix для расчетов.
Но потом глянул данные Earth2014 в точности 1 минута дуги. Оказалось, что там EGM96 преобразована для расчетов правильно , а в равнопромежуточной проекции отклонения геоида визуально искажены
Диапазон отклонений геоида[править]
В точности HEALPix k=10 (12,6 миллионов тазиков) диапазон отклонений геоида равен 195,5м от -107.4м до +88.1м
Отличие в 3,1 метра от ожидаемых отклонений объясняю погрешностью преобразования между равнопромежуточной и HEALPix проекциями до 3 метров и погрешностью данных проекта Earth2014 до 1 метра. Погрешностью 3 метра, вызванной преобразованиями между проекциями, пренебрегаю. Погрешностью 1 {{{2}}}, вызванной выбором модели отклонения геоида, пренебрегаю тоже, и эта погрешность не зависит от данного алгоритма.
Анимация[править]
Для наглядности представляю вращающуюся Землю с преувеличенными отклонениями поверхности, пропорциональными отклонениям геоида.
[[]]
- тоже самое - geoid undulations, using units of gravity
[править]
aw:PlanetMaker нормали создал с помощью http://cpetry.github.io/NormalMap-Online
вмятости - это отклонения геоида в серых оттенках
для совмещения с контурами материков добавил карту earth_nightlightsonly_2048x1024.gif