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