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

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

Войти

Вычисления GPS координат по карте

Тема в разделе "Исходные данные", создана пользователем John Doe, 20 фев 2017.

  1. John Doe

    Регистрация:
    20 фев 2017
    Сообщения:
    3
    Симпатии:
    0
    В теме я не разбираюсь, поэтому возможно мой вопрос покажется крайне любительским, тем не менее попробую его задать.
    Я пишу программу в которой визуально представленна карта относительно небольшой площади, скажем города имеющего несколько десятков км по ширине и длине. Для удобства вычислений, эта площадь разбита на ячейки.
    Для простоты скажем возьмем ширину участка в 1км и длину в 1км. Разбив 100 линиями по горизонтали и вертикали получим 10,000 ячеек 10х10м.
    Для исходной нулевой точки координатной сетки мне известны GPS координаты.
    Далее проведя некоторый вычисления используя ячейки(скажем 20 ячейка по горизонтали и 5 по вертикале) я хочу получить координаты ее центра в GPS формате.
    Хотелось бы узнать возможно ли это и если да, то как правильно это сделать?
    Требования к точности: конечено чем точнее - тем лучше, идеально если бы точность была бы до метра.

    Попробовал поэксмперементировать с гугл-картами и линейкой: получилось по грубым расчетам (настоящей линейки под рукой не было) что смещение на 10 метров дают примерные изменения

    0.00005176 , 0.0001472 (подозревая первое число - это широта, вторая - долгота)
    Соответственно зная кол-во "пройденных" клеток на своей карте и их размер, путем простейших операций умножения и сложения/вычитания я получаю GPS координату нужной мне точки на моей карте.
    Попробовал проверить результат своих вычислений - разброс составил примерно около 50 метров по широте (что возможно было обусловленно неточностью измерений)
    Насколько верен такой метод для вычислений и имеет ли смысл его использовать или же есть более лучшие методы?
     
    #1
  2. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    велосипед с квадратными колёсами
    Какова конечная цель этих мытарств и какой язык?
     
    #2
  3. John Doe

    Регистрация:
    20 фев 2017
    Сообщения:
    3
    Симпатии:
    0
    Почему велосипед с квадратными колесами?
    Простой пример нахождения пути комивояжера: известна начальная точка, конечная и места где можно передвигаться - найти путь.
    В моем примере я создаю матрицу и легко нахожу путь с координатами моей матрицы. Теперь осталось перевести эти координаты в GPS.

    Я использую C#
     
    #3
  4. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    #4
    chnav нравится это.
  5. В.Шуфотинский

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

    Регистрация:
    10 дек 2008
    Сообщения:
    17.303
    Симпатии:
    4.952
    Карта неправильно привязана.

    Зависит от точности получения:
     
    #5
  6. John Doe

    Регистрация:
    20 фев 2017
    Сообщения:
    3
    Симпатии:
    0

    Привязка (если под ней понимается трансформация эллипса в плоскую карту) не нужна т.к. уже трансформированную карту я скопи-пастил из гугл-мэпс.

    У меня есть (опять-таки из гугл-мэпс) GPS координаты крайних углов карты.
    Правильно ли будет вычислять GPS некоторой точки на карте используя подход:
    вычислить сколько метров от известной GPS точки до искомой, по разнице известных GPS координат установить чему равен 1 метр, перемножить это на кол-во метров до точки, провести сложения/вычитания исходя из известной GPS?
    На калькуляторе провел такой тест и то работает такой подход, то нет (работает когда тестировал дистанции примерно в 500 метров и не работает когда тестировал неизвестную местность с дистанцией в 2-3км)
     
    #6
  7. ak_evg

    ak_evg Супермодератор
    Команда форума Форумчанин

    Регистрация:
    21 янв 2009
    Сообщения:
    11.269
    Симпатии:
    9.108
    Адрес:
    РашаФедераша
    а что Вы хотели от гугл мэпс? Я недавно в качестве обзорной подложки свеженький снимок с гугла решил использовать. Площадка ~500*500 метров. Не садится и хоть ты тресни. Одну сторону совмещаешь, другая уходит. Вот такие они общедоступные карты.
     
    #7
  8. Valang

    Форумчанин

    Регистрация:
    9 фев 2012
    Сообщения:
    2.770
    Симпатии:
    2.215
    Адрес:
    г.Магадан
    Так не прокатит. Нужно учитывать не расстояния, а приращения по dX и dY (Север-Юг и Запад-Восток).
     
    #8
  9. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Оффтоп
    gifs_04 (1).gif

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

    http://geodesist.ru/attachments/local-horizon-coordinates-pdf.51694/
     
    #9
  10. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    а как определяется проходимость?
     
    #10
  11. Valang

    Форумчанин

    Регистрация:
    9 фев 2012
    Сообщения:
    2.770
    Симпатии:
    2.215
    Адрес:
    г.Магадан
    Если прокатывает - Проходимость есть. Если не прокатывает - Проходимости нет. ::rolleyes24.gif::
     
    #11
    stout нравится это.
  12. freeExec

    Форумчанин

    Регистрация:
    16 апр 2015
    Сообщения:
    159
    Симпатии:
    50
    Гугл - это Меркатор, а у него не линейное приращение по Y, а зависит от cos(широты)
     
    #12
  13. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Оффтоп
    А вот ни фига не косинус. Y = R×artanh(sinφ) = R×arsinh(tanφ)=R×gd-1(φ).
    gd – Гудерманиан, gd-1 – функция, обратная Гудерманиану.
     
    #13

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

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