от
У меня есть куча широта/долгота пар, которые сопоставляются с известными координатами x и Y на (территориально искажены) на карте. Тогда у меня есть еще одна широта/долгота пары. Я хочу нанести его на карту, как лучше можно. Как я могу идти о делать это? Сначала я решил создать систему линейных уравнений относительно трех ближайших широта/долгота точки и вычислить преобразование от них, но это не работает хорошо на всех. Поскольку это линейная система, я не могу использовать более близлежащих точек либо. Вы не можете предположить, Север вверху: у вас есть существующий широта/долго->х/г отображений. Редактировать: это не проекции Меркатора, или что-нибудь подобное. Он произвольно искажал для удобочитаемости (вспомните карту метро). Я хочу использовать только ближайшие 5 до 10 отображения, так что искажения на другие части карты не влияет на отображение я пытаюсь вычислить. Кроме того, вся карта в очень небольшом географическом районе, так что нет необходимости беспокоиться о земного шара, плоской Земли предположения достаточно хорошо.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

5 Ответы

0 голосов
от
У меня есть куча широта/долгота пар, которые сопоставляются с известными координатами x и Y на (территориально искажены) на карте. Тогда у меня есть еще одна широта/долгота пары. Я хочу нанести его на карту, как лучше можно. Как я могу идти о делать это? Сначала я решил создать систему линейных уравнений относительно трех ближайших широта/долгота точки и вычислить преобразование от них, но это не работает хорошо на всех. Поскольку это линейная система, я не могу использовать более близлежащих точек либо. Вы не можете предположить, Север вверху: у вас есть существующий широта/долго->х/г отображений. Редактировать: это не проекции Меркатора, или что-нибудь подобное. Он произвольно искажал для удобочитаемости (вспомните карту метро). Я хочу использовать только ближайшие 5 до 10 отображения, так что искажения на другие части карты не влияет на отображение я пытаюсь вычислить. Кроме того, вся карта в очень небольшом географическом районе, так что нет необходимости беспокоиться о земного шара, плоской Земли предположения достаточно хорошо.
0 голосов
от
Есть ли более конкретные детали, какие искажения? Если, например, ваш широт и долгот несколько "искаженном" на 2D-карте с помощью проекции Меркатора, преобразование математика вполне доступна. Если карта действительно искажается произвольно, есть много вещей, которые вы могли бы попробовать, но самое простое было бы, вероятно, вычисляется взвешенное среднее из существующих отображений точки. Ваш вес может быть квадрат обратной величины X и y расстояние от новой точки до каждой из существующих точек. Некоторые псевдокод:
estimate

Этот код даст относительно простой аппроксимации. Если вы можете быть более точным о том, как проекция искажает географические координаты, вы можете, вероятно, сделать намного лучше.
0 голосов
от
Хорошо. С теоретической точки зрения, учитывая, что искажение является "произвольным", и любое решение требует модель это произвольное искажение, вы, очевидно, не может получить "ответ". Тем не менее, любое решение предполагает введения (обычно неявно) некоторые модели искажений, которые могут или могут не отражать реальное положение дел. Поскольку вы, кажется, больше заинтересованы в моделях, которые предполагают какой-то локальной непрерывности отображения искажений, наиболее очевидным является тот, который вы уже пробовали: линейный interpolaton между ближайшими точками. Идем дальше, что потребует более сложного математического и численного анализа знания. Однако ты ошибаешься, в предполагая, что вы не можете расширить это, чтобы больше очков. Вы можете с помощью наименьших квадратов ошибок. Найти линейный ответ, который минимизирует ошибки других точек. Это, наверное, самый прямолинейный расширения. Другими словами, берем 5 ближайших точек и попытаться придумать линейной аппроксимации, который сводит к минимуму ошибки из этих пунктов. И использовать это. Я хотел бы попробовать это. Если это не сработает, то предположение о линейности над районом N точек нарушается. В этот момент вам необходимо перейти на модель квадратичной или кубической. Математику собирается становится беспокойным в этой точке.
0 голосов
от
проблема в том, что сфера может быть искажено различными способами, и все эти точки известны на экваторе, допустим, не поможет вам, карта указывает дальше. Вам нужно лучше "закрыть" баллов, то можно предположить, что эти три точки на плоскости с четвертым и делать интерполяцию-зная, что расстояние долгот-это функция, а не константа.
0 голосов
от
Эммм. Может я что-то пропустила вопрос здесь, но если у вас длинные/широта инфо, у вас также есть направление на север? Кажется, нужно на карту геодезических координат в проективной системе координат. Например osgb в WGS84. Включили математике нетривиальное, но код выходит только несколько строк. Если бы у меня было больше времени, я бы еще запостить, но мне нужен душ, так что мне будет скучно и ссылку на статью Википедии, которая является довольно хорошей. Примечание: после душа редактировать.
...