Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

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

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

  1. Евгений555

    Регистрация:
    5 май 2012
    Сообщения:
    7
    Симпатии:
    0
    так где же она есть?
     
    #81
  2. В.Шуфотинский

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

    Регистрация:
    10 дек 2008
    Сообщения:
    17.341
    Симпатии:
    4.970
    Понимаете, у каждого геодезиста, есть программы для обработки наблюдений. В них есть встроенные калькуляторы. Эти программы стоят тысячи $, а калькулятор занимает доли процента от их возможностей, потому Вам не с руки их приобретать. Есть бесплатные калькуляторы.
    Кто-нибудь знает, в "PHOTOMOD" есть перевод из эллипсоидальной системы координат в картографические проекции?
     
    #82
  3. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Здравствуйте! А можно где-нибудь почитать про эти формулы?
    Интересно как вычисляются массивы коэффициентов pseG, pseH, pseF?
     
    #83
  4. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.938
    Адрес:
    Златоглавая и Белокаменная
    На русском - Математические основы высшей геодезии и картографии Р. Кёниг, К. Вейзе ; пер. с нем. З. Г. Либина ; под ред. А. А. Изотова. - М. : Изд. иностр. лит-ры, 1954г.
    Возможно, есть у Морозова в "Курс сфероидической геодезии" - точно не помню. Алгоритм есть точно, различаются в деталях реализации.
    На английском - пройдитесь по ссылкам автора библиотеки http://geographiclib.sourceforge.net/
    Автор этой библиотеки в Maxima до 10 порядка нашёл коэффициенты.
    Там где-то есть ссылка и на оригинальную работу Л. Крюгера.
    В сети есть статья Karsten Engsager "A HIGHLY ACCURATE WORLD WIDE ALGORITHM FOR THE TRANSVERSE MERCATOR MAPPING" в формате MS Word, у него приведены только готовые разложения до 7-го порядка.
     
    #84
  5. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Спасибо!
     
    #85
  6. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Попробовал сравнить результаты работы этого алгоритма (с параметрами эллипсоида WGS-84) и этого калькулятора http://www.uwgb.edu/dutchs/usefuldata/ConvertUTMNoOZ.HTM - совершенно разные результаты. Что за значения выдает класс TransverseMercator - так и не понял.
     
    #86
  7. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.938
    Адрес:
    Златоглавая и Белокаменная
    Вот результаты сравнения на тестовом массиве библиотеки GeographicLib (порядка 200 000 точек)
    deltaXorder7-b85.png deltaYorder7-b85.png

    Также сравнивал с калькулятором Pinnacle и Blue Marble - полёт нормальный.
    Если бы увидел ваш код, тогда бы можно было что-то подсказать.
     
    #87
    Lex K-G нравится это.
  8. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Раскрыть Спойлер
    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.
     
    #88
  9. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.938
    Адрес:
    Златоглавая и Белокаменная
    Уверен, проблема в том, что второй аргумент процедуры BL2XY(B, L, X, Y) не долгота, а удаление от осевого меридиана.
    Думаю, что операторы
    Код:
      X := Gm*(Beta1 + X) + FNorthing;
      Y := Gm*(Beta2 + Y) + FEasting;
    Отвечают на ваш вопрос.
     
    #89
  10. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Я взял точку (56.857847 гр. СШ, 35.919966 гр. ВД) для проверки. Не может же значение "35.919966 гр. ВД" (второй аргумент процедуры BL2XY(B, L, X, Y)) быть удалением от осевого меридиана внутри 6-ти градусной зоны?
     
    #90
  11. stout

    Форумчанин

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

    Форумчанин

    Регистрация:
    11 июл 2007
    Сообщения:
    6.380
    Симпатии:
    458
    Адрес:
    Тула
    удаление = L-L0, где для стандартной "гугковской" разграфки L0=(N*6-3) и N=ЦЕЛОЕ(L/6)+1
     
    #92
  13. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.938
    Адрес:
    Златоглавая и Белокаменная
    #93
  14. grigss

    Регистрация:
    15 ноя 2012
    Сообщения:
    6
    Симпатии:
    0
    Спасибо большое! Теперь все сошлось.
     
    #94
  15. В.Шуфотинский

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

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

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.938
    Адрес:
    Златоглавая и Белокаменная
    Так, для примера::laugh24.gif::
    [​IMG]

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

    Форумчанин

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

    Регистрация:
    30 окт 2014
    Сообщения:
    2
    Симпатии:
    0
    А что такое сдвиг участка карты и как его вычислить, подскажите пожалуйста
     
    #98
  19. В.Шуфотинский

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

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

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

    Регистрация:
    10 дек 2008
    Сообщения:
    17.341
    Симпатии:
    4.970
    Кстати, примером правоты уважаемого 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
    И это только в основных системах координат на используемых у нас референц-эллипсоидах. А ещё есть местные системы координат...
     
    #100

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление