У меня есть некоторые данные GPS, взятые с устройства. Что мне нужно сделать, так это «переместить» данные «влево», скажем, на 1-5 метров. Я знаю, как сделать движущуюся часть, единственная проблема в том, что перемещение не так точно, как мне бы хотелось.
Что я сейчас делаю:
- Я беру GPS-координаты (широта, долгота, пары)
- Я конвертирую их, используя Plate Carrée преобразование.
- Я масштабирую результирующие координаты до продольного расстояния (расстояние по x) и широтного расстояния (расстояние по y) - представьте, что все данные выборки GPS находятся внутри прямоугольника, ограниченного максимальной и минимальной широтой / долготой. Я вычисляю эти расстояния, используя формулу для Великого окружного расстояния между крайними значениями для долготы и широты.
- Я перемещаю точки x метров в нужном направлении
- Я конвертирую обратно в координаты GPS
У меня нет той точности, которую я хочу. Например, перемещение влево на 3 метра означает менее 3 метров (около 1,8 м - возможно, 2).
Каковы известные решения для таких вещей? Мне нужно решение, которое отклоняется максимум на 0,2-0,5 метра от реальной точки (а не 1,2, как в текущем случае).
ПОЗЖЕ: Этот подход хорош? Под этим подразумевается преобразование координат GPS в координаты плоскости и обратно в GPS. Есть ли другой способ?
LATER2: Вероятно, будет использован подход преобразования в конформную карту. В случае небольшого прямоугольника, и поскольку на полюсах нет дорог, вероятно, будет использоваться Mercator. Мнения?
Спасибо
Юлиан
PS: я работаю на небольших участках - представьте, что ограничивающий прямоугольник, о котором я говорю, имеет длину каждой стороны не более 5 километров. (Таким образом, прямоугольник 5x5 км является максимальным).