Техническая поддержка - обработка растровых изображений. Подвинуть в юго-западный угол

- Линейная алгебра

Приведение квадратичной формы к главным осям

Ранее была рассмотрена задача приведения вещественной


q(x)= \sum_{n=1}^{n} \sum_{j=1}^{n} a_{ij}x_ix_j=x^TAx


n переменных к


\widetilde{q}(y)=\lambda_1y_1^2+ \lambda_2y_2^2+ \ldots+ \lambda_ny_n^2


при помощи невырожденной линейной замены переменных x=Sy . Для решения этой задачи использовался .


Рассмотрим другой подход к решению. Линейную невырожденную замену переменных x=Sy с ортогональной матрицей S~(S^{-1}=S^T) будем называть ортогональной заменой переменных (или ортогональным преобразованием переменных).


Сформулируем задачу приведения квадратичной формы к главным осям : требуется найти ортогональную замену переменных x=Sy (S^{-1}=S^T) , приводящую квадратичную форму (9.23) к каноническому виду (9.24).


Для решения используем следующий геометрический смысл задачи. Будем считать переменные x_1,x_2,\ldots,x_n координатами вектора \boldsymbol{x} n-мерного евклидова пространства \mathbb{E} в ортонормированном базисе (\boldsymbol{e})= (\boldsymbol{e}_1,\ldots,\boldsymbol{e}_n) , а матрицу A квадратичной формы (9.23) - матрицей некоторого линейного преобразования \mathcal{A}\colon \mathbb{E}\to \mathbb{E} в том же базисе. Причем это преобразование самосопряженное, так как его матрица симметрическая: A^T=A . Квадратичную форму (9.23) можно представить в виде скалярного произведения


q(\boldsymbol{x})= \bigl\langle \mathcal{A}(\boldsymbol{x}), \boldsymbol{x}\bigr\rangle= \bigl\langle \boldsymbol{x}, \mathcal{A}(\boldsymbol{x})\bigr\rangle.


Ортогональной замене переменных x=Sy соответствует переход от одного ортонормированного базиса к другому. Действительно, пусть S - матрица перехода от ортонормированного базиса (\boldsymbol{e}) к ортонормированному базису (\boldsymbol{s})= (\boldsymbol{s}_1,\ldots,\boldsymbol{s}_n) , т.е. (\boldsymbol{s})= (\boldsymbol{e})S и S^{-1}=S^T . Тогда координаты x вектора \boldsymbol{x} в базисе (\boldsymbol{e}) и координаты y того же вектора в базисе (\boldsymbol{s}) связаны формулой (8.11): x=Sy .


Таким образом, задача приведения квадратичной формы к главным осям может быть сформулирована так: требуется найти в пространстве \mathbb{E} такой базис, в котором матрица самосопряженного преобразования \mathcal{A} имеет диагональный вид. По теореме 9.10 нужно выбрать ортонормированный базис из собственных векторов самосопряженного преобразования. При этом матрица перехода S к каноническому базису оказывается ортогональной: S^T=S^{-1} .


Сформулируем этот результат для квадратичной формы.

Теорема (9.12) о приведении квадратичной формы к главным осям

Вещественная квадратичная форма (9.23) при помощи ортогонального преобразования переменных x=Sy может быть приведена к каноническому виду (9.24), где - собственные значения матрицы A .


Следствие. Квадратичная форма (9.23) является положительно определенной (неотрицательно определенной) тогда и только тогда, когда все собственные значения ее матрицы положительны (неотрицательны).


Замечания 9.10


1. При линейной невырожденной замене переменных матрица квадратичной формы изменяется по формуле (6.10): A"=S^TAS . Для ортогональной матрицы S эта формула принимает вид A"=S^{-1}AS , который совпадает с формулой (9.4) изменения матрицы линейного преобразования при замене базиса.


2. Для нахождения канонического вида (9.24) достаточно определить все корни \lambda_1, \lambda_2,\ldots,\lambda_m (среди которых могут быть равные) (уравнения) \det(A-\lambda E)=0 , где E - единичная матрица.


3. Следствие теоремы 9.12 можно использовать для анализа знакоопределенности квадратичной формы:


– если все собственные значения положительные (отрицательные), то квадратичная форма положительно (отрицательно) определенная;


– если все собственные значения неотрицательные (неположительные), то квадратичная форма неотрицательно (неположительно) определенная;


– если имеются собственные значения разных знаков, то квадратичная форма неопределенная (знакопеременная).


4. Результаты, сформулированные в пункте 3 замечаний, могут быть использованы для проверки достаточных и необходимых условий второго порядка в задаче поиска безусловного экстремума функций. Для этого следует найти собственные значения \lambda_1, \lambda_2,\ldots,\lambda_m \dfrac{d^2f(x)}{dx^Tdx} в каждой из стационарных точек x^{\ast} функции f(x)=f(x_1,\ldots,x_n) .


Если все собственные значения положительные: \lambda_i>0,~ i=1,\ldots,n , то в точке x^{\ast} локальный минимум;


– если все собственные значения отрицательные: \lambda_i<0,~ i=1,\ldots,n , то в точке x^{\ast} локальный максимум;


– если все собственные значения неотрицательные: \lambda_i\geqslant0,~ i=1,\ldots,n , то в точке x^{\ast} может быть локальный минимум;


– если все собственные значения неположительные: \lambda_i\leqslant0,~ i=1,\ldots,n , то в точке x^{\ast} может быть локальный максимум;


– если собственные значения \lambda_i,~ i=1,\ldots,n , разных знаков, то в точке x^{\ast} нет экстремума;


– если все собственные значения нулевые: \lambda_i=0,~ i=1,\ldots,n , то требуется дополнительное исследование.


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

Пример 9.7. Выяснить знакоопределенность квадратичной формы трёх переменных


q(x)= x_1^2+2x_1x_2+2x_1x_3+x_2^2+2x_2x_3+x_3^2


и найти ортогональную замену переменных x=Sy , приводящую квадратичную форму к каноническому виду (к главным осям).

Решение. Составляем матрицу квадратичной формы: A=\begin{pmatrix} 1&1&1\\ 1&1&1\\ 1&1&1 \end{pmatrix} . В примере 9.6 были найдены собственные значения этой матрицы: \lambda_{1,2}=0, \lambda_3=3 . Все собственные значения неотрицательные, поэтому квадратичная форма является неотрицательно определенной (см. пункт 4 замечаний 9.10).


В была найдена ортогональная матрица


S=\begin{pmatrix} \dfrac{\sqrt{2}}{2}& \dfrac{\sqrt{6}}{6}& \dfrac{\sqrt{3}}{3}\\ 0&-\dfrac{\sqrt{6}}{3}& \dfrac{\sqrt{3}}{3}\\ -\dfrac{\sqrt{2}}{2}& \dfrac{\sqrt{6}}{6}& \dfrac{\sqrt{3}}{3} \end{pmatrix}\!,


приводящая матрицу A к диагональному виду \Lambda= \operatorname{diag} (0,0,3) . Записываем искомую ортогональную замену переменных x=Sy:


x_1= \frac{\sqrt{2}}{2}\,y_1+ \frac{\sqrt{6}}{6}\,y_2+ \frac{\sqrt{3}}{3}\,y_3;\quad x_2= -\frac{\sqrt{6}}{3}\,y_2+ \frac{\sqrt{3}}{3}\,y_3;\quad x_3= -\frac{\sqrt{2}}{2}\,y_1+ \frac{\sqrt{6}}{6}\,y_2+ \frac{\sqrt{3}}{3}\,y_3.


и квадратичную форму в каноническом виде: \widetilde{q}(y)= 3y_3^2 .

Пример 9.8. Найти точки локального экстремума функции двух переменных с помощью матриц


f(x)=3x_1^5+x_1^4-5x_1^3-2x_1^2x_2+x_2^2.


Решение. В пункте 1 найден градиент функции, а из необходимого условия экстремума первого порядка три стационарные точки:


x^0= \begin{pmatrix}0&0 \end{pmatrix}^T,\qquad x^1=\begin{pmatrix} 1&1 \end{pmatrix}^T,\qquad x^2=\begin{pmatrix} -1&1\end{pmatrix}^T.


Матрица Гессе имеет вид

\frac{df(x)}{dx^Tdx}= \begin{pmatrix} 60x_1^3+12x_1^2-30x_1-4x_2&-4x_1\\-4x_1&2 \end{pmatrix}\!.


Найдем собственные значения матрицы Гессе в каждой стационарной точке:


\frac{df(x^0)}{dx^Tdx}= \begin{pmatrix}0&0\\ 0&2 \end{pmatrix}\!;\quad \frac{df(x^1)}{dx^Tdx }= \begin{pmatrix}38&-4\\ -4&2 \end{pmatrix}\!,\quad \frac{df(x^2)}{dx^Tdx}= \begin{pmatrix} -22&4\\4&2\end{pmatrix}


и воспользуемся пунктом 4 замечаний 9.10.

В точке x^0=\begin{pmatrix}0\\0 \end{pmatrix} матрица Гессе имеет вид \begin{pmatrix} 0&0\\ 0&2\end{pmatrix} . Из уравнения \begin{vmatrix} -\lambda&0\\ 0&2-\lambda\end{vmatrix}=0 находим \lambda_1=0, \lambda_2=2 . Так как все собственные значения неотрицательные, то в точке x^0 может быть локальный минимум и для окончательного вывода требуется дополнительное исследование (см. пример 6.13).


В точке x^1=\begin{pmatrix}1\\1 \end{pmatrix} матрица Гессе имеет вид \begin{pmatrix} 38&-4\\ -4&2 \end{pmatrix} . Из уравнения \begin{vmatrix} 38-\lambda&-4\\ -4&2-\lambda\end{vmatrix}=0 , или \lambda^2-40 \lambda+60=0 получаем \lambda_{1,2}= 20\pm2\sqrt{85} . Поскольку все собственные значения положительные, то в точке x^1 локальный минимум функции.


В точке x^2=\begin{pmatrix}-1\\1 \end{pmatrix} матрица Гессе имеет вид \begin{pmatrix} -22&4\\ 4&2 \end{pmatrix} . Из уравнения \begin{vmatrix} -22-\lambda&4\\ 4&2-\lambda\end{vmatrix}=0 , или \lambda^2+40 \lambda-60=0 получаем \lambda_{1,2}=-10\pm4\sqrt{10} . Поскольку собственные значения имеют разные знаки, то в точке x^2 нет экстремума.

Часто у нас есть бумажная карта местности и мы хотим добавить эту карту в наш ГИС-проект. Рассмотрим как создать геопривязанное изображение из сканированной или сфотографированной карты на примере карты заказника “Квітуча гора”.

В приведенном примере все выполняется в программе QGIS. В ходе работы будут использованы следующие модули: Привязка растров, QuickMapServices, GeoSearch. Эти плагины нужно установить и активизировать, подробнее про установку модулей можно почитать . Для работы модулей QuickMapServices и GeoSearch необходимо подключение к Интернет.


Следующий шаг – найти на базовой карте интересующую местность. Для этого, внимательно рассмотрев сканированную карту, мы находим на ней название населенного пункта – «с.Мильча».


Зная название села, мы можем найти его при помощи одного из модулей «GeoSearch», «osmSearch» или «OSM place search».


После масштабирования карты к интересующему месту, приступаем непосредственно к привязке карты. Для геопривязки растровых изображений в QGIS есть встроенный модуль «Привязка растров» (Georeferencer). Запускается модуль из раздела меню «Растр» - «Привязка растров».


Модуль «Привязка растров» (Georeferencer) открывается в новом окне.


При помощи кнопки «Открыть растр» или комбинации клавиш + добавляем изображение которое будем привязывать.
В верхней части окна появится изображение, в нижней части расположена таблица с описанием точек привязки.


Далее нужно выбрать точки на базовой карте и изображении, по которым будет осуществляться привязка изображения. Обычно это перекрестки и повороты дорог, мосты и другие объекты хорошо видимые на базовой карте и привязываемом изображении.

Увеличиваем экстент базовой карты к первой точке привязки. Так же увеличиваем привязываемое изображение к выбранной точке привязки. Приблизившись в окне модуля к точке привязки, нажимаем кнопку «Добавить точку» и клацаем указателем мышки по выбранной точке. После этого открывается форма ввода координат. Координаты можно ввести как через поля ввода, так и захватить с карты. Если у нас есть координаты точек, например, полученные при помощи GPS-навигатора, мы можем их внести в соответствующих полях. Для получения координат с базовой карты нажимаем кнопку «С карты».


После нажатия кнопки «С карты» автоматически открывается основное окно QGIS. В нем курсор мышки имеет вид белого крестика. Выбираем точку привязки на базовой карте и жмем левую кнопку мышки.


После нажатия, автоматически возвращаемся в окно модуля привязки растров. В форме ввода появились значения координат точки. Заполненные значения имеют систему координат проекта с базовой картой.


После нажатия точка добавляется в таблицу с описанием точек привязки. Таким образом добавляем как можно больше точек привязки. Точки желательно расположить равномерно по привязываемому изображению. Чем более искажено исходное изображение, тем больше требуется точек привязки. Минимальное количество точек привязки — 3.


Далее задаем параметры трансформации. Для этого нажимаем шестеренку на панели инструментов. В открывшемся окне задаем следующие обязательные значения: тип трансформации, метод интерполяции, целевую систему координат, целевой растр. Остальные параметры являются не обязательными и их можно оставить со значениями по умолчанию.

Качество привязки зависит от количества точек привязки и от выбора метода трансформации. Подробнее про методы трансформации можно почитать .


Одним из ключевых моментов является правильное указание целевой системы координат. Если вносили координаты полученные при помощи GPS-навигатора, то указываем систему координат заданную в настройках GPS-навигатора, наиболее часто это WGS 84 (EPSG:4326). Если мы брали координаты с карты, то указываем систему координат рабочего проекта. В нашем случае это WGS 84 / Pseudo Mercator (EPSG:3857) которая является «родной» для таких карто-сервисов как OpenStreetMap, ArcGIS Online и многие другие.


Задав параметры трансформации запускаем процесс привязки, нажав зеленый треугольник на панели инструментов или выбрав соответствующий пункт в меню «Файл». В результате привязки растров будет получен файл в формате GeoTIFF.

Если в окне параметров трансформации вы отметили пункт «Открыть результат QGIS» то после окончания процесса привязки результирующий слой будет добавлен в рабочий проект поверх базовой карты.

Важным нюансом является то, что в результате работы модуля, результирующий растр имеет систему координат указанную в параметрах трансформации, но информация про то какая именно проекция растра, в нем не содержится. По этой причине, он может присутствовать в списке слоев, но не отображаться на карте. В таком случае необходимо зайти в «свойства слоя» и указать нужную систему координат вручную.


После явного указания правильной системы координат изображение расположится на нужном месте.


Настроив прозрачность мы можем скрыть черные поля по краям привязанного изображения, возникшие в результате трансформации.


Так же можем проверить корректность привязки, указав прозрачность слоя в 50%.


Завершающим штрихом может стать запись информации про проекцию непосредственно в файл геопривязанного изображения в формате GeoTIFF. Для этого выберем меню «Растр» - «Проекции» - «Назначить проекцию». В открывшемся окне выбираем наш геопривязанный файл и систему координат. Так же мы можем использовать этот инструмент для каталогов с растрами, отметив соответствующий пункт, и если необходимо, в ручную задать параметры программы gdalwarp. Подробней про параметры gdalwarp можно почитать .


После внесения информации про систему координат в файл геопривязанного изображения, мы сможем открывать его в других ГИС-проектах и ГИС-программах без дополнительных манипуляций по ручному указанию системы координат.

Так же мы можем обрезать привязанное изображение до интересующей территории, как это описано и загрузить на планшет или сматрфон, как это описано .

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

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

В основном, для задания пространственной привязки набора растровых данных используются следующие шаги:

Для просмотра демонстрации пространственной привязки набора растровых данных см. Видео о пространственной привязке .

Привязка растра по опорным точкам

В основном, пространственная привязка растровых данных происходит с использованием имеющихся пространственных данных (целевых данных), таких как растры с пространственной привязкой или класс векторный объектов, которые имеют нужную систему координат карты. Этот процесс включает определение серии опорных точек – известных координат x,y – которые связывают известные местоположения в наборе растровых данных с соответствующими местами в данных, имеющих пространственную привязку (целевые данные). Контрольными точками являются такие местоположения, которые можно легко определить в наборах растровых данных и которые имеют точные координаты. В качестве идентификаторов местоположений могут использоваться, например, пересечения дорог или водных потоков, устья рек, обнажения горных пород, углы улиц или площадей, пересечения лесозащитных полос.

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

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

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

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

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

Преобразование растра

После того, как вы создали достаточное количество связей, вы можете привязать – или трансформировать – набор растровых данных, чтобы он соответствовал координатам целевых данных. Чтобы добиться максимального совпадения координат для каждой ячейки, вы можете использовать трансформацию методом полиномов, сплайн, методом подгонки или подобия.

Полиномиальная трансформация использует построение полинома на основе опорных точек и алгоритм подбора методом наименьших квадратов (LSF). Этот способ оптимизирован для соблюдения общей точности, но не гарантирует локальной точности. Полиномиальная трансформация использует две формулы: одна для вычисления координат x по входным координатам (x,y) местоположения, а вторая – для вычисления координат y. Задача метода наименьших квадратов – рассчитать общую формулу, которая применима ко всем точкам, обычно за счет небольшого смещения позиций опорных точек. Количество некоррелированных опорных точек, требующееся для этого метода, составляет 1 для нулевого порядка, 3 для первого порядка, 6 – для второго и 10 – для третьего порядка. Полиномы низших порядков имеют тенденцию к ошибке случайного типа, тогда как полиномы высших порядков – к ошибке экстраполяции.

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


Полином нулевого порядка будет использован для смещения ваших данных. Это часто используется в ситуации, когда ваши данные уже имеют пространственную привязку, но небольшой сдвиг лучше выровняет ваши данные. Для выполнения смещения ваших данных полиномом нулевого порядка необходима только одна ссылка. Рекомендуется сделать несколько связей, затем выбрать ту, которая выглядит наиболее точной.

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

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

Чем выше порядок трансформации, тем более сложные искажения могут быть скорректированы. Однако, трансформация выше третьего порядка используется очень редко. Трансформации высокого порядка требуют большее количество связей и, следовательно, больше времени на обработку. Как правило, если набор растровых данных необходимо растянуть, повернуть или изменить его размер, следует использовать трансформацию первого порядка. Для более сложного преобразования применяются трансформации второго или третьего порядка.


Трансформация методом сплайна – это истинный метод резинового листа, оптимизированный для обеспечения локальной, но не глобальной точности привязки. Она основана на сплайн-функции – кусочном полиноме, который обеспечивает гладкие непрерывные переходы между соседними полиномами. Она обеспечивает точное совмещение исходной и конечной опорных точек, но точность совпадения удаленных пикселов не гарантируется. Эта трансформация удобна, если правильное размещение опорных точек имеет первостепенное значение. Добавление дополнительных опорных точек может увеличить общую точность сплайн трансформации. Для нее требуется как минимум 10 опорных точек.

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

Проективное преобразование может сохранить линии так, что они останутся прямыми. При этом параллельные линии могут оказаться непараллельными. Проективное преобразование особенно полезно для скошенных изображений, сканированных карт и спутниковых снимков Landsat или Digital Globe. Для выполнения проективного преобразования необходимо как минимум четыре связи. При наличии четырех связей ошибка RMS будет равняться нулю. При наличии большего количества связей ошибка RMS будет чуть выше нуля.

Преобразование подобия является трансформацией первого порядка, при которой делаются попытки сохранить форму исходного растра. Среднеквадратичная ошибка имеет тенденцию к возрастанию, по сравнению с другими полиномными трансформациями, поскольку сохранение формы является более приоритетным, чем точная подгонка.

Интерпретация среднеквадратической ошибки

Когда общая формула выведена и применена к опорным точкам, производится измерение ошибки – невязки. Эта ошибка является разницей между реальным и вычисленным положением «точки к». Общая ошибка вычисляется из квадратного корня (RMS) суммы ошибок всех связей. Это значение описывает степень согласования трансформации между всеми опорными точками (связями). Если ошибка слишком велика, для ее уменьшения можно удалить или добавить опорные точки.

Хотя ошибка RMS является хорошей оценкой точности трансформации, не следует путать маленькую величину ошибки RMS с точностью привязки. Например, результат преобразования может иметь значительные неточности из-за неверного выбора опорных точек. Чем больше правильных опорных точек вы используете, тем более точным будет результат конвертации исходных данных. Обычно, трансформация методом подгонки границ и сплайн трансформация дают ошибку RMS около нуля или ноль; однако, это не означает, что изображение точно привязано в пространстве.

Прямое смещение показывает ошибку в тех же единицах измерения, что и установлены пространственной привязкой фрейма данных. Обратные смещения отображают ошибку в пикселах. Прямое и обратное смещение – это мера точности, которая отображается в пикселях. Значения смещений, близкие к нулю, рассматриваются как более точные.

Пересчет набора растровых данных

Когда вы трансформируете, проецируете или пересчитываете набор растровых данных, конвертируете его из одной проекции в другую или изменяете размер ячейки, вы выполняете геометрическое преобразование. Геометрическое преобразование – процесс изменения геометрии набора растровых данных из одного координатного пространства в другое. К геометрическим преобразованиям относятся «резиновый лист» (обычно используется в пространственной привязке), проекция (используется информация о проекции для трансформации данных в другую проекцию), сдвиг (одинаковое смещение всех координат), вращение (вращение всех координат на одинаковый угол) и изменение размера ячейки набора растровых данных.

После выполнения геометрического преобразования, центры ячеек исходного растра редко совпадают с центрами ячеек итогового; однако, значения должны быть привязаны к центрам.

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

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

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

При использовании метода ближайшей окрестности, значения ячеек входного растра не изменяются. Значение 2 во входном растре всегда останется значением 2 в выходном; оно не будет изменено на 2,2 или 3. Поскольку выходные значения остаются неизменными, метод Ближайшего соседства следует использовать с номинальными или ординальными данными, где каждое значение представляет класс, функциональную единицу или классификацию – это могут быть категорийные данные, такие как типы почвы, лесов или землепользования.

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

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

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

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

Необходимо ли трансформировать растр?

Вы можете сохранить преобразование набора растровых данных после выполнения пространственной привязки, используя команду Трансформировать на панели инструментов Пространственная привязка , или с помощью инструмента Трансформировать . Кроме того, вы можете сохранить информацию о преобразовании в дополнительном файле, используя команду на панели инструментов Пространственная привязка .

Трансформация позволяют создавать новый набор растровых данных, имеющий пространственную привязку к координатам карты. Вы можете сохранить его в формате BIL, BIP, BMP, BSQ, DAT, GIF, GRID, IMG, JPEG, JPEG 2000, PNG или TIFF. ArcGIS не требует обязательного преобразования набора растровых данных для отображения его вместе с другими пространственными данными; однако, это следует сделать, если вы собираетесь анализировать его или хотите использовать его в других программах, которые не распознают пространственную привязку, хранящуюся в отдельном файле привязки.

При обновлении пространственной привязки, преобразование будет сохраняться в отдельном файле – новый набор растровых данных создан не будет, как это происходит при сохранении преобразования набора растровых данных. Для набора растровых данных в виде файла, такого как TIFF, преобразование обычно будет записываться во внешний файл формата XML с расширением.AUX.XML. Если набор растровых данных является необработанным изображением, таким как BMP, а преобразование является аффинным, он будет записан в файл привязки. Если набор растровых данных хранится в базе геоданных, при выполнении команды Обновить пространственную привязку , преобразование также будет сохранено в базе, в виде дополнительной информации, относящейся к этому набору растровых данных. Обновление растрового слоя, сервиса изображения или слоя мозаики выполнит обновление слоя внутри документа карты, но не сохранит измененную пространственную привязку в исходном файле.

В таблице ниже показано, как сохраняется каждый целевой тип.

Пространственная привязка различных растров

Тип данных Результат

Набор растровых данных

Команда Обновить пространственную привязку обновляет набор растровых данных.

Растровый слой

Команда Обновить пространственную привязку обновляет слой растровых данных, растры-источники не затрагиваются.

Слой сервиса изображений

Сервис изображений на сервере не обновляется. После выполнения команды Обновить пространственную привязку

Растровый продукт

Растровый продукт не обновляет подлежащие файлы набора растровых данных. После выполнения команды Обновить пространственную привязку можно либо сохранить документ карты (.mxd), либо создать файл слоя (.lyr), чтобы сохранить работу по пространственной привязке.

Растр с функцией

Растровая функция не обновляет подлежащие файлы растров. После выполнения команды Обновить пространственную привязку можно либо сохранить документ карты (.mxd), либо создать файл слоя (.lyr), чтобы сохранить работу по пространственной привязке.




Top