В теме я не разбираюсь, поэтому возможно мой вопрос покажется крайне любительским, тем не менее попробую его задать. Я пишу программу в которой визуально представленна карта относительно небольшой площади, скажем города имеющего несколько десятков км по ширине и длине. Для удобства вычислений, эта площадь разбита на ячейки. Для простоты скажем возьмем ширину участка в 1км и длину в 1км. Разбив 100 линиями по горизонтали и вертикали получим 10,000 ячеек 10х10м. Для исходной нулевой точки координатной сетки мне известны GPS координаты. Далее проведя некоторый вычисления используя ячейки(скажем 20 ячейка по горизонтали и 5 по вертикале) я хочу получить координаты ее центра в GPS формате. Хотелось бы узнать возможно ли это и если да, то как правильно это сделать? Требования к точности: конечено чем точнее - тем лучше, идеально если бы точность была бы до метра. Попробовал поэксмперементировать с гугл-картами и линейкой: получилось по грубым расчетам (настоящей линейки под рукой не было) что смещение на 10 метров дают примерные изменения 0.00005176 , 0.0001472 (подозревая первое число - это широта, вторая - долгота) Соответственно зная кол-во "пройденных" клеток на своей карте и их размер, путем простейших операций умножения и сложения/вычитания я получаю GPS координату нужной мне точки на моей карте. Попробовал проверить результат своих вычислений - разброс составил примерно около 50 метров по широте (что возможно было обусловленно неточностью измерений) Насколько верен такой метод для вычислений и имеет ли смысл его использовать или же есть более лучшие методы?
Почему велосипед с квадратными колесами? Простой пример нахождения пути комивояжера: известна начальная точка, конечная и места где можно передвигаться - найти путь. В моем примере я создаю матрицу и легко нахожу путь с координатами моей матрицы. Теперь осталось перевести эти координаты в GPS. Я использую C#
https://dotspatial.codeplex.com/ земля "круглая", координаты в градусах насколько я понимаю, работаем с растром, а его надо сначала привязать Датум, проекция Советую прочитать учебник по геодезии или картографии http://gis-lab.info/qa/proj-sk-faq.html
Привязка (если под ней понимается трансформация эллипса в плоскую карту) не нужна т.к. уже трансформированную карту я скопи-пастил из гугл-мэпс. У меня есть (опять-таки из гугл-мэпс) GPS координаты крайних углов карты. Правильно ли будет вычислять GPS некоторой точки на карте используя подход: вычислить сколько метров от известной GPS точки до искомой, по разнице известных GPS координат установить чему равен 1 метр, перемножить это на кол-во метров до точки, провести сложения/вычитания исходя из известной GPS? На калькуляторе провел такой тест и то работает такой подход, то нет (работает когда тестировал дистанции примерно в 500 метров и не работает когда тестировал неизвестную местность с дистанцией в 2-3км)
а что Вы хотели от гугл мэпс? Я недавно в качестве обзорной подложки свеженький снимок с гугла решил использовать. Площадка ~500*500 метров. Не садится и хоть ты тресни. Одну сторону совмещаешь, другая уходит. Вот такие они общедоступные карты.
Оффтоп (Move your mouse to the spoiler area to reveal the content) Как перевести широту и долготу от GPS в прямоугольные координаты? http://geodesist.ru/attachments/local-horizon-coordinates-pdf.51694/
Оффтоп (Move your mouse to the spoiler area to reveal the content) А вот ни фига не косинус. Y = R×artanh(sinφ) = R×arsinh(tanφ)=R×gd-1(φ). gd – Гудерманиан, gd-1 – функция, обратная Гудерманиану.