создание проекции с аффинными преобразованиями

MapInfo, MapBasic
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: создание проекции с аффинными преобразованиями

Сообщение Boris » 15 янв 2011, 00:23

romir писал(а):Я скопировал Affine Units "m" с коэффициентами в шапку и тут Мапинфо при импорте мифа начала кочевряжится - что ожидала чего-то другого, а нашла не то. Я копировал Affine Units "m" в разные места шапки, но так и не добился желаемого. Подскажите, плз, в какое место шапки нужно прописывать Affine Units "m" и где найти описания какой коэффициент на какой параметр влияет? Если поставить шесть нолей - никаких преобразований не будет - Так?
  • выложите ваш MIF, в котором будет 2-3 объекта с вашим не вставшим заголовком. поведение описываемое вами не очень понятно, т.к. был выложен полностью рабочий пример заголовка MIF файла
  • правильно ли вы понимаете суть трансформации, задаваемой аффинным преобразованием? оно всего навсего представляет собой линейное 2-х мерное отображение точек ( и сосотоящих из них более сложных структур).
  • 6 коээфициентов, согласно справке по MB задаются так
    Affine Units unitname, A, B, C, D, E, F
    A performs scaling or stretching along the X axis.
    B performs rotation or skewing along the X axis.
    C performs shifting along the X axis.
    D performs scaling or stretching along the Y axis.
    E performs rotation or skewing along the Y axis.
    F performs shifting along the Y axis.
    если их задать все 0 - для всех координат в будет (0;0). Для их получения нужно решить систему из 6-ти линейных уравнений, которые задаются путем указания 3-х пар точек - исходной (2 координаты) и конечной (2 координаты).
В случае смещенного центрального меридиана надо сперва найти этот самый центральный меридиан. затем подбирать начальную точку. После этого, если и не сойдеться все в 0, то искажения будут настолько минимальными, что и аффинная трансформация посадит все на место. Это проверено многократно. В обычном случае, если нет искажений при сканировании и вводе данных, для совмещения данныХ, использующих один "глобус", в вашем случае Пулково-1942, для совмещения данных, использующих разные проекции требуется проекционное преобразование, т.н. 4-х точечное.
PS
Что бы долго не ходить кругами, то давайте поступим так:
а) создайте 2 таблицы - привязываемые данные и эталон для привязки.
б) поставьте 3-10 пар точек, которые на ваш взгляд должны между собой совпасть.
в) вышлите мне их через местную систему личных сообщений - я посмотрю в софте, который больше для этого предназначен, преобразования какого уровня требуются, что бы ваши данные совпали.

romir
Участник
Сообщения: 67
Зарегистрирован: 27 ноя 2009, 14:09
Репутация: 0

Re: создание проекции с аффинными преобразованиями

Сообщение romir » 17 янв 2011, 11:10

Отправил в ЛС

Аватара пользователя
Institor
Активный участник
Сообщения: 243
Зарегистрирован: 22 апр 2011, 08:10
Репутация: 27
Откуда: Хабаровск

Re: создание проекции с аффинными преобразованиями

Сообщение Institor » 17 июн 2011, 07:53

Позволю себе вновь поднять тему.
Имеется местная система (42 год + сдвиг и поворот). Понимаю, что по идее нужно настроить аффинное преобразование. Известны: точка, относительно которой поворот (в СК-42), масштабный коэффициент, угол поворота.
Как найти параметры преобразования? В справке говорится про умножение матриц.
Пробовал умножать матрицы по порядку: сдвиг в начало - масштабирование - поворот - сдвиг в местную.
Погрешность несколько сот метров.

Может, кто-нибудь опишет алгоритм, допустим, для местных СК, построенных от 42го года? (имеется в виду не МСК, которые чаще всего от 63го сделаны простым убиранием старших разрядов координат, а совсем местная система - порядок координат от -10000м до 30000м - помещается город)

upd:разобрался, надо было умножать матрицы в обратном порядке :) но погрешность все равно около 4-6 см по сравнению с расчетами в экселе, это нормально?

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: создание проекции с аффинными преобразованиями

Сообщение Boris » 17 июн 2011, 16:51

погрешность очень хорошая, для всех видов карт она просто идеальна, если исходить из идеальной точности в 0.1 мм на бумажной карте, т.е. для карты 1:500 имеем предел точности в 50 мм = 5 см.
в то же время для такой небольшой территории, такая погрешность может говорит о том, что вы ошиблись с параметрами СК - поворот системы координат скорее всего был все таки сдвигом центральног меридиана.

Аватара пользователя
Institor
Активный участник
Сообщения: 243
Зарегистрирован: 22 апр 2011, 08:10
Репутация: 27
Откуда: Хабаровск

Re: создание проекции с аффинными преобразованиями

Сообщение Institor » 18 июн 2011, 16:48

Дело в ом, что расхождение с расчетами в екселе, а считаю по этим же параметрам.
Думаю дело в точности все-таки, сколько знаков mapinfo воспринимает в параметрах проекций, вот в чем вопрос.

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя