| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Преобразовании графического образа |
| Автор: Artemon 13.12.2006, 12:26 |
| У меня есть несколько геодезических координат и соответствующие им координаты на экране монитора Например: ШИРОТА = 61.398346, ДОЛГОТА = 55.304456 ШИРОТА = 61.377728, ДОЛГОТА = 55.300786 ШИРОТА = 61.371572, ДОЛГОТА = 55.306372 ШИРОТА = 61.363432, ДОЛГОТА = 55.309046 X = 2337, Y = 304 X = 2131, Y = 368 X = 2070, Y = 270 X = 1989, Y = 223 Задача: Тыкнуть в картинку на экране и получить геодезические координаты. Я знаю что это нужно делать с помощью аффиного преобразования, но в сети ничего толкового пока не нашел. |
| Автор: DENNN 13.12.2006, 13:54 |
| Если точность не важна, то можно просто посчитать по пропорции. |
| Автор: Artemon 13.12.2006, 15:03 |
| Точность важна |
| Автор: DENNN 13.12.2006, 18:25 |
| мдя слова "точность важна" обычно сопровождаются цифрами требуемой точности... Если стоит математическая задача точного пересчета, то прежде надо выяснить в какой проекции отображаются данные. Т.е. какой из способов отображения поверхности шара на плоский монитор выбран. В любом случае аффиные преобразования - это грубо и будет работать только для небольшого участка местности. Если не очень понятно, о чем я, то ответь мне на вопрос, как будет выглядеть в твоем случае сетка из параллелей и меридианов (прямоугольная, концентрическая, линии меридианов сходятся к верхней центральной точке)? p.s. по указанным координатам получается участок местности ~ 25 км по широте и порядка полукилометра по долготе. Собственно на таком небольшом участке искажения за использования любого из видов трансформации будут несущественны. |
| Автор: Artemon 13.12.2006, 20:47 |
| Для начала я хочу сделать прямоугольную проекцию. P.S. Очень рад что на вопросы отвечает человек, так или иначе, разбирающийся в картографии. |
| Автор: Earnest 14.12.2006, 09:50 |
| Афинное преобразование, это всего лишь: X = a0*x + a1*y+ a2; Y = a3*x + a4*y + a5; Т.е. 6 коэффициентов, которые линейно связывают исходную и конечную системы координат. Вычисляются путем решения системы уравнений, по трем известным неколлинеарным точкам. В частных случаях можно проще: например, если оси систем параллельны, достаточно одной точки привязки и масштаба по осям. Но как уже сказал DENNN, афинное преобразование годится для пересчета в прямоугольную СК только в очень крупных масштабах и на малых участках. |