Линии большого круга в равноугольной проекции


12

Просто чтобы убедиться, что я на правильном пути:

Все ли большие круги на сфере и в равносторонней проекции (т. Е. Пары широты и долготы) либо:

  1. меридианы (то есть переход от полюса к полюсу)
  2. формы tan latitude = sin360(longitude + rotation) * amplitude + offset

(с дополнительными ограничениями на комбинации смещения / амплитуды - очевидно, что все трассы большого круга с амплитудой 0 также имеют смещение 0 - экватор).

Или есть пути большого круга, которые не вписываются в эту схему (опять же, только в системе координат долгота-широта, а не в других проекциях карты).

Примечание: я добавил tanвышеупомянутое после публикации вопроса, в ответ на отличный ответ whubers. Оказывается, offsetтогда всегда 0.


Форма № 2 не является набором пар (широта, долгота). Что это означает? И почему же это зависит от трех параметров ( rotation, amplitudeи offset) , когда большие круги , естественно , есть только два параметра (каждый из которых соответствует паре диаметрально противоположным точкам, «полярные» к нему)?
whuber

Да, один излишний, но у меня нет готовой формулы. Как уже отмечалось, amplitude==0подразумевается offset=0; эти два явно связаны. Смотрите обновленный вопрос о пропавших без вести, latitudeчтобы сделать отношения правильно сформированными.
Эрих Шуберт

Ответы:


11

Хотя в некоторых проекциях геодезические немного похожи на синусоиды, формула неверна.

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

введите описание изображения здесь

(Фоновое изображение взято с http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)

Поскольку все равноугольные проекции являются аффинными преобразованиями этого (где координата x является долготой, а координата y является широтой), а аффинные преобразования синусоидальных волн все еще являются синусоидами, мы не можем ожидать каких-либо геодезических в любой форме Равноугольная проекция должна быть синусоидальной (кроме экватора, который изображен в виде горизонтальной линии). Итак, начнем с самого начала и разработаем правильную формулу.

Пусть уравнение такой геодезической имеет вид

latitude = f(longitude)

чтобы найти функцию f . (Этот подход уже отказался от меридианов, которые не могут быть записаны в такой форме, но в остальном являются полностью общими.) Преобразование в трехмерные декартовы координаты (x, y, z) дает

x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))

где l - долгота и единичный радиус (без потери общности). Поскольку геодезические на сфере являются пересечениями с плоскостями (проходящими через ее центр), должен существовать постоянный вектор (a, b, c) - который направлен между полюсами геодезической - для которого

a x + b y + c z = 0

независимо от того, какое значение л может быть. Решение для f (l) дает

f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)

при условии, что с ненулевой. Очевидно, что когда c приближается к 0, мы получаем в пределе пару меридианов, отличающихся на 180 градусов - именно те геодезические, которые мы оставили в самом начале. Так что все хорошо. Кстати, несмотря на внешность, здесь используются всего два параметра, равные a / c и b / c.

Обратите внимание, что все геодезические можно поворачивать до тех пор, пока они не пересекут экватор на нулевой долготе. Это указывает на то, что f (l) можно записать в терминах f0 (l-l0), где l0 - долгота экваториального пересечения, а f0 - выражение геодезического пересечения в главном меридиане. Отсюда получаем эквивалентную формулу

f(l) = ArcTan(gamma * sin(l - l0))

где -180 <= l0 <180 градусов - долгота экваториального пересечения (когда геодезическая входит в северное полушарие при движении на восток), а гамма - положительное действительное число. Это не включает пары меридианов. Когда гамма = 0, он обозначает экватор с начальной точкой на долготе l0; в этом случае мы всегда можем взять l0 = 0, если хотим уникальную параметризацию. На этот раз осталось только два параметра, заданных l0 и gamma .


Mathematica 8.0 была использована для создания изображения. Фактически он создал «динамическую манипуляцию», в которой вектором (a, b, c) можно управлять и соответствующая геодезическая отображается мгновенно. (Это довольно круто.) Сначала мы получаем фоновое изображение:

i = Import[
   "http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
    Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]

Вот код в полном объеме:

Manipulate[
 {a, b, c} = {Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]};
 Show[Graphics[{Texture[i], 
    Polygon[{{-\[Pi], -\[Pi]/2}, {\[Pi], -\[Pi]/2}, {\[Pi], \[Pi]/2}, {-\[Pi], \[Pi]/2}}, 
     VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}], 
  Plot[ArcTan[(a Cos[\[Lambda]] + b Sin[\[Lambda]]) / (-c)], {\[Lambda], -\[Pi], \[Pi]}, 
   PlotRange -> {Automatic, {-\[Pi]/2, \[Pi]/2}}, PlotStyle -> {Thick, Red}]],
   {u, 0, 2 \[Pi]}, {v, -\[Pi]/2, \[Pi]}]

Благодарю. Я потерял это arctanгде-то. Думаю, я начал с чего- arctan latitudeто.
Эрих Шуберт

Я хотел бы проголосовать до этого более одного раза!
Ян Тертон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.