Аффинная и проективная трансформация реализуется с помощью полиномиальной аппроксимации данных методом наименьших квадратов. Суть данного метода заключается в нахождении такого преобразования данных в новые координаты, при котором достигается наименьшая погрешность (невязка) между координатами заданных точек трансформации и значениями этих точек в новых координатах. В процессе ввода точек трансформации вы можете определить ожидаемую точность преобразования данных по значениям невязки – чем меньше значение невязки, тем точнее будет выполнено преобразование. Значение невязки отображается в панели Свойства (вкладка Трансформирование слоя, столбец E1).
В данном методе задача преобразования старых координат точки (X,Y) в новые координаты (X',Y') сводится к нахождению таких коэффициентов a1,...,an, b1,...,bn аппроксимирующего полинома, при которых минимизируется сумма квадратов отклонений заданных значений от построенной аппроксимирующей кривой:
Для аффинной трансформации:
X'= a1X + a2Y + a3
Y'= b1X + b2Y + b3
требуется задание не менее 3-х пар точек трансформации.
Рисунок 106. Аффинная трансформация
Для выполнения аффинной трансформации растрового объекта:
Сделайте растровой слой редактируемым ().
Нажмите на панели инструментов Редактор кнопку
(). Курсор примет вид .Укажите точку, из которой надо переместить растровый объект, переместив курсор в эту точку и нажав левую кнопку мыши. После указания первой точки она отобразится на карте в виде кружка, ее координаты отобразятся также и в таблице на панели свойств системы (если она открыта), а курсор примет вид .
Аналогичным образом укажите следующую точку (куда надо переместить). Она отобразится в виде окружности.
Повторите действия 3,4 для второй и третьей пар точек.
В рабочей области карты щелкните правой кнопкой мыши и выберите в появившемся контекстном меню пункт
. Над растровым объектом будет соответствующее заданным точкам аффинное преобразование.Для проективной трансформации полиномами 2-й степени:
X'= a1X2 + a2XY + a3Y2 + a4X + a5Y + a6
Y'= b1X2 + b2XY + b3Y2 + b4X + b5Y + b6
требуется задание не менее 6-и пар точек трансформации.
Рисунок 107. Проективная трансформация полиномами 2-й степени.
Для выполнения проективной трансформации 2-й степени растрового объекта:
Сделайте растровой слой редактируемым ().
Нажмите на панели инструментов Редактор кнопку (). Курсор примет вид .
Укажите точку, из которой надо переместить растровый объект, переместив курсор в эту точку и нажав левую кнопку мыши. После указания первой точки она отобразится на карте в виде кружка, ее координаты отобразятся также и в таблице на панели свойств системы (если она открыта), а курсор примет вид .
Аналогичным образом укажите следующую точку (куда надо переместить). Она отобразится в виде окружности.
Повторите действия 3,4 еще для пяти пар точек.
В рабочей области карты щелкните правой кнопкой мыши и выберите в появившемся контекстном меню пункт
. Над растровым объектом будет произведено соответствующее заданным точкам проективное преобразование 2 степени.