Перевод координат широты и долготы в плоскость X, Y с контрольными точками - PullRequest
0 голосов
/ 04 августа 2020

У меня есть произвольное изображение карты, которое может или не может быть точно спроецировано на некоторые стандартные c географические карты. Вероятно, нет, поскольку это исполнение артистов. Считайте эту карту двухмерным изображением пикселей в точке 0,0 и далее.

Я бы хотел сопоставить с этой картой точки широты и долготы в мировом пространстве. Поскольку карта не обязательно является известной или точной проекцией, мне нужно придумать другое решение. Я полагаю, что установление контрольных точек на 2D-изображении, которые коррелируют с известными значениями широты и долготы, является шагом №1. Как минимум 3, а может и больше, на случай, если потребуется отсортировать искажения на изображении карты.

Какой алгоритм или уравнение я бы искал, чтобы взять эти контрольные точки и определить X, Y положение на изображении из любого заданного ввода широты / долготы?

Я ожидаю, что оно будет неточным, в зависимости от количества контрольных точек. И я ожидаю, что для некоторых более странных изображений потребуется go и добавить много контрольных точек в определенных областях, чтобы выровнять их.

1 Ответ

0 голосов
/ 08 августа 2020

Когда изображенная область небольшая (например, она умещается в квадрате на несколько километров сбоку), ниже описывается один способ попробовать. Извините, если вы сочтете описание слишком кратким, я хотел сделать его достаточно коротким.

Идея состоит в том, чтобы предположить, что изображение находится в какой-то неизвестной конформной проекции, и попытаться приблизить его. Конечно, это может не сработать, если изображение не может быть аппроксимировано таким способом. удерживают их координаты изображения R []. С точностью до метра или около того - с учетом сделанного выше предположения - R [] может быть получено из Q [] преобразованием T, которое является переносом, масштабированием (isotropi c) и вращением. Затем вы можете найти T, скажем, методом наименьших квадратов, используя Q [] и R []. У вас есть двухэтапная карта от географических c координат P [] контрольной точки до их координат изображения R []: сначала спроектируйте, используя выбранную проекцию, затем примените T. Вы можете использовать инверсию этой карты к go из произвольные координаты изображения в географические координаты.

Если размер изображения превышает несколько километров, вы можете не получить достаточную точность таким образом. Еще не все потеряно. Хотя сдвига, масштаба и поворота может быть недостаточно, любые две конформные проекции связаны (сложной) аналитической картой. Таким образом, вы можете попытаться подогнать (приблизительно) к этой карте, используя контрольные точки, как указано выше. Подходящим приближением может быть сложный полином или сложная рациональная функция.

Если бы я делал это, я бы сначала проверил это на искусственных данных. Например, вы можете сгенерировать изображения различных размеров, используя некоторую проекцию (отличающуюся от той, которая использовалась выше), и посмотреть, насколько хорошо вы соответствуете известным точкам на этих изображениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...