Как перевести широту и долготу от GPS в прямоугольные координаты?

Тема в разделе "Исходные данные", создана пользователем victor64, 8 ноя 2011.

  1. так где же она есть?
     
  2. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Понимаете, у каждого геодезиста, есть программы для обработки наблюдений. В них есть встроенные калькуляторы. Эти программы стоят тысячи $, а калькулятор занимает доли процента от их возможностей, потому Вам не с руки их приобретать. Есть бесплатные калькуляторы.
    Кто-нибудь знает, в "PHOTOMOD" есть перевод из эллипсоидальной системы координат в картографические проекции?
     
  3. Здравствуйте! А можно где-нибудь почитать про эти формулы?
    Интересно как вычисляются массивы коэффициентов pseG, pseH, pseF?
     
  4. stout

    stout Форумчанин

    На русском - Математические основы высшей геодезии и картографии Р. Кёниг, К. Вейзе ; пер. с нем. З. Г. Либина ; под ред. А. А. Изотова. - М. : Изд. иностр. лит-ры, 1954г.
    Возможно, есть у Морозова в "Курс сфероидической геодезии" - точно не помню. Алгоритм есть точно, различаются в деталях реализации.
    На английском - пройдитесь по ссылкам автора библиотеки http://geographiclib.sourceforge.net/
    Автор этой библиотеки в Maxima до 10 порядка нашёл коэффициенты.
    Там где-то есть ссылка и на оригинальную работу Л. Крюгера.
    В сети есть статья Karsten Engsager "A HIGHLY ACCURATE WORLD WIDE ALGORITHM FOR THE TRANSVERSE MERCATOR MAPPING" в формате MS Word, у него приведены только готовые разложения до 7-го порядка.
     
  5. Спасибо!
     
  6. Попробовал сравнить результаты работы этого алгоритма (с параметрами эллипсоида WGS-84) и этого калькулятора http://www.uwgb.edu/dutchs/usefuldata/ConvertUTMNoOZ.HTM - совершенно разные результаты. Что за значения выдает класс TransverseMercator - так и не понял.
     
  7. stout

    stout Форумчанин

    Вот результаты сравнения на тестовом массиве библиотеки GeographicLib (порядка 200 000 точек)
    deltaXorder7-b85.png deltaYorder7-b85.png

    Также сравнивал с калькулятором Pinnacle и Blue Marble - полёт нормальный.
    Если бы увидел ваш код, тогда бы можно было что-то подсказать.
     
    Lex K-G нравится это.
  8. Раскрыть Спойлер
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    a := 6378137.;
    recF := 298.257223;
    f := 1.0 / recF;
    e := Sqrt(f * (2 - f));
    TM := TransverseMercator.Create(a, recF, 0, 0, 7, 0.9996); // UTM
    end;

    procedure TForm1.btnCalculate1Click(Sender: TObject);
    begin
    B := StrToFloat(edLatitudeWGS84.Text) / 180 * Pi;
    L := StrToFloat(edLongitudeWGS84.Text) / 180 * Pi;
    TM.BL2XY(B, L, X, Y);
    edN.Text := FloatToStr(X);
    edE.Text := FloatToStr(Y);
    end;


    Класс TransverseMercator взят один-в-один из поста #55. Для проверки взял одну лишь точку (56.857847 гр. СШ, 35.919966 гр. ВД).
    В результате работы этого кода получилось следующее: (X=6889815.34571907, Y=2124685.12654504). Вот этот результат и не понятен. И что является Easting, я что Northing? А тот калькулятор, что я указывал выше, говорит, что Easting= 678026.5, а Northing= 6305362.
     
  9. stout

    stout Форумчанин

    Уверен, проблема в том, что второй аргумент процедуры BL2XY(B, L, X, Y) не долгота, а удаление от осевого меридиана.
    Думаю, что операторы
    Код:
      X := Gm*(Beta1 + X) + FNorthing;
      Y := Gm*(Beta2 + Y) + FEasting;
    Отвечают на ваш вопрос.
     
  10. Я взял точку (56.857847 гр. СШ, 35.919966 гр. ВД) для проверки. Не может же значение "35.919966 гр. ВД" (второй аргумент процедуры BL2XY(B, L, X, Y)) быть удалением от осевого меридиана внутри 6-ти градусной зоны?
     
  11. stout

    stout Форумчанин

    Класс TransverseMercator - это вычисление координат в проекции ТМ в пределах одной зоны (и пофиг какая её ширина, если только она не больше 2*60°, тогда ошибки начинают быстро нарастать. Правда надо сказать, что ни одному вменяемому человеку и в голову не придет работать в такой зоне, т.к. масштабные искажения-просто обхохочешься). Для того, чтобы считать в картографической системе координат, надо знать правила задания осевых меридианов.
    Для вашего примера осевой меридиан Lc = 33°. Поэтому аргумент L=(35.919966-33)/180*Pi.
     
  12. SergKo

    SergKo Форумчанин

    удаление = L-L0, где для стандартной "гугковской" разграфки L0=(N*6-3) и N=ЦЕЛОЕ(L/6)+1
     
  13. stout

    stout Форумчанин

  14. Спасибо большое! Теперь все сошлось.
     
  15. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Этих систем координат даже на одну территорию уйма. Вам какую СК надо?
    --- Сообщения объединены, 30 окт 2014, Оригинальное время сообщения: 30 окт 2014 ---
    Вы лучше градусы, минуты и секунды напишите словами после цифр.
     
  16. stout

    stout Форумчанин

    Так, для примера::laugh24.gif::
    [​IMG]

    И, плюс, источник происхождения этих цифр.
    З.Ы. Мне вот обратные азимутальные (retroazimuthal) нравятся.::biggrin24.gif::
     
  17. stout

    stout Форумчанин

    Еще раз.
    1. Условно говоря, кто дал? Источник происхождения этих цифр? Это показания навигатора, сняли с карты (с какой?) и т. д.
    2. Для чего вам нужны X и Y?
    Поясняю. Одна и та же точка для разных эллипсоидов (и даже для одного и того же эллипсоида, но в разных отсчётных системах) будет иметь разные координаты. И наоборот. Одни и те же координаты для разных эллипсоидов и отсчётных систем соответствуют физически разным точкам. Поэтому, не зная источника происхождения этих цифр, однозначного ответа не получить.
    Это же замечание относится и к прямоугольным координатам. Если вы скажете, для каких целей они вам нужны, тогда можно предположить, что делать дальше.
     
    Последнее редактирование модератором: 30 окт 2014
    ЮС и Geo_major нравится это.
  18. А что такое сдвиг участка карты и как его вычислить, подскажите пожалуйста
     
  19. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Далее обсуждение данных координат прекращаем, а общие вопросы разбирать продолжаем.
    --- Сообщения объединены, 30 окт 2014, Оригинальное время сообщения: 30 окт 2014 ---
    Термин "сдвиг" в геодезии используется, вот только по отношению к картам он не используется. Бывает сдвиг координат. Вы об этом?
     
    Geo_major нравится это.
  20. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Кстати, примером правоты уважаемого stout является перечень координат той точки, которую Вы просили пересчитать (я оставил только последние цифры):
    x=079.2 y=206.5
    x=109.2 y=393.8
    x=116.4 y=294.4
    x=146.3 y=481.6
    И это только в основных системах координат на используемых у нас референц-эллипсоидах. А ещё есть местные системы координат...
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление