Как работает инструмент Преобразовать (Transform) (набор инструментов Покрытие)
Описание
Инструмент Преобразовать (Transform) конвертирует данные покрытия из одной системы координат в другую. Его часто используют для конвертирования покрытий, созданных в единицах дигитайзера (как правило, дюймах), в покрытия в единицах реального мира, представленных на бумажной карте. Реальные местоположения представляются с помощью определенной проекции; например, проекцией вашей базовой карты может быть UTM, в которой положение опорных точек выражается в метрах.
Чтобы выполнить преобразование, вам необходимо определить реальное местоположение по меньшей мере двух тиков в вашем покрытии. Эти реальные местоположения могут быть выражены в футах или метрах используемой системы координат базовой карты или в значениях широты и долготы. Если местоположения указаны в градусах широты и долготы, используйте инструмент Проецировать (Project), чтобы конвертировать опорные точки в систему координат, соответствующую базовой карте, в которой используются футы или метры. Это необходимо делать до преобразования оцифрованного покрытия.
При начальном преобразовании ваших данных они будут преобразованы в ту же проекцию, что и проекция исходной карты. Затем можно использовать инструмент Проецировать, чтобы конвертировать покрытие в другую картографическую проекцию.
Принцип работы инструмента Преобразовать состоит в сравнении координат тиков входного покрытия с координатами соответствующих тиков в выходном покрытии. Тики, которые нужно сравнить, определяются идентификаторами Tic-ID. Минимальное необходимое число тиков зависит от используемой опции преобразования. Тики являются опорными точками преобразования и не конвертируются уравнением преобразования. Координаты выходных тиков после преобразования остаются прежними. Однако, любые объекты, которые совпадают с входными тиками, как правило, не будут совпадать с выходными тиками. Вам может понадобиться скорректировать объекты, чтобы совместить их с тиками в выходном покрытии после преобразования.
Для преобразования координат входного покрытия в координаты выходного покрытия инструмент Преобразовать использует по умолчанию функцию аффинного преобразования AFFINE. Для выполнения аффинного преобразования необходимы по меньшей мере три тика.
При аффинном преобразовании (Affine transformation) можно дифференцированно масштабировать, задавать скос, поворачивать, переносить данные. На рисунке ниже показаны все четыре возможных варианта трансформаций.
Функция афинного преобразования выглядит следующим образом:
x’ = Ax + By + C
Параметры A-F определяются по опорным точкам.
y’ = Dx + Ey + F
и затем применяются ко всем координатам в покрытии.
где x и y - координаты входного покрытия, а x’ и y’ - координаты выходного покрытия. A, B, C, D, E, и F определяются из сравнения положений тиков во входном и выходном покрытиях. Они определяют масштабирование, скос, поворот и сдвиг координат тиков.
Инструмент Преобразовать выдает отчет о шести параметрах и их геометрической интерпретации. Здесь показан пример фрагмента выходного отчета об афинном преобразовании.
Преобразование координат покрытия in_cov_name
Scale (X,Y) = (246.140,255.702) Skew (degrees) = (-0.061)
Rotation (degrees) = (0.334) Translation = (2890.267,3679.906)
RMS Error (input, output) = (0.084,20.592)
Affine X = Ax + By + C
Y = Dx + Ey + F
A = 246.135 B = -1.763 C = 2890.267
D = 1.434 E = 255.696 F = 3679.906
В одном разделе отчета перечисляются параметры уравнений преобразования. Параметры уравнения можно интерпретировать, чтобы понять что происходит в геометрическом смысле. В первом разделе отчета даются интерпретированные значения параметров масштабирования, скоса и поворота. Изменение последовательности выполнения этих геометрических действий меняет интерпретированные значения, но конечный результат и параметры уравнения всегда остаются одинаковыми. Значения интерпретируются в следующей последовательности: (1) масштабирование, (2) скос в х-направлении и (3) поворот точек вокруг осей против часовой стрелки. Значения сдвига не интерпретируются, а просто являются параметрами С и F уравнений. Инструмент Преобразовать интерпретирует параметры афинного уравнения следующим образом:
A = mx · cos t
B = my · (k · cos t - sin t)
D = mx · sin t
E = my · (k · sin t + cos t)
C = translation in x direction
F = translation in y direction
where
mx = change of scale in x direction
my = change of scale in y direction
k = shear factor along the x-axis = tan (skew angle) (the skew angle is measured from the y-axis)
t = rotation angle, measured counterclockwise from the x-axis
Угол поворота - это поворот данных относительно фиксированной системы x,y-координат. На рисунке выше исходные данные были повернуты на 45 градусов. Если значение отрицательное, поворот выполняется по часовой стрелке от оси х.
При преобразовании SIMILARITY (подобия) данные масштабируются, поворачиваются и сдвигаются. В этом преобразовании оси нельзя масштабировать независимо, и отсутствует скос. Для выполнения преобразования подобия необходимы по меньшей мере две опорные точки. Здесь показан пример отчета о преобразовании подобия с использованием покрытий из примера афинного преобразования.
Преобразование координат покрытия in_cov_name
Scale (X,Y) = (249.927,249.927)
Rotation (degrees) = (0.362) Translation = (2855.407,3715.168)
RMS Error (input, output) = (0.118,29.398)
Similarity X = Ax + By + C
Y = -Bx + Ay + F
A = 249.922 B = -1.578
C = 2855.407 F = 3715.168
Обратите внимание, что значения масштаба X и Y равны. Значение скоса в отчете отсутствует, поскольку преобразование подобия не позволяет ввести в данные неортогональное движение.
Функция преобразования подобия выглядит следующим образом:
x’ = Ax + By + C
y’ = -Bx + Ay + F
where
A = s · cos t
B = s · sin t
C = translation in x direction
F = translation in y direction
and
s = scale change (same in x and y directions)
t = rotation angle, measured counterclockwise from the x-axis
Как и в случае AFFINE, угол поворота выражает поворот данных относительно фиксированной системы x,y-координат. На рисунке выше исходные данные были повернуты на 45 градусов. Если значение отрицательное, поворот выполняется по часовой стрелке от оси х.
Проективное преобразование (PROJECTIVE) основано на более сложной формуле, для которой требуются по меньшей мере четыре тика.
x’ = (Ax + By + C) / (Gx + Hy + 1) y’ = (Dx + Ey + F) / (Gx + Hy + 1)
Отчет PROJECTIVE включает приблизительный масштаб, СКО и параметры уравнения. В связи со сложностью интерпретации параметры проективного преобразования не интерпретируются. Дополнительную информацию можно найти в фотограмметрических документах, указанных в списке литературы в конце темы. Ниже показан пример выходного отчета о проективном преобразовании.
Преобразование координат покрытия in_cov_name
Approximate scale = 1479.087
RMS Error (input, output) = (0.040,60.878)
2D Projective X = (Ax + By + C) / (Gx + Hy + 1)
Y = (Dx + Ey + F) / (Gx + Hy + 1)
A = 55.667 B = -718.999 C = 2125052.558
D = -199.525 E = 1385.541 F = 317759.475
G = -0.001 H = 0.000
Principal point of input (xp,yp) = (2.000,16.946)
Exposure center of output(Xc,Yc) = (2127791.000,343183.000)
Главная точка и центр экспозиции соответствуют первому тику в файле тиков входного покрытия. Если вы хотите использовать другую точку (например, центр набора данных), убедитесь, что это первый тик в файле.
Среднеквадратическая ошибка (СКО) вычисляется для каждого выполняемого преобразования и характеризует, насколько хорошо оно выполнено. В примере ниже показано относительное положение четырех выходных опорных точек (тиков) и трансформированных входных опорных точек:
СКО является мерой расхождения между положением тиков выходного покрытия и преобразованным положением тиков входного покрытия.
Преобразование выполняется с использованием метода наименьших квадратов, поэтому можно задать больше тиков, чем требуется в обязательном порядке.
СКО для каждого преобразования указывается и в единицах входного покрытия (например, 0.031 дюйма), и в единицах выходного покрытия (например, 37.465 фута).
RMS Error (input, output) = (0.031,37.465)
При идеальном преобразовании СКО равна нулю. Хотя вы не получите значение 0.000, старайтесь максимально снизить СКО. Лучше всего установить и соблюдать максимальное допустимое значение ошибки. Допустимые значения будут варьироваться в зависимости от точности исходных данных и масштаба карты-источника. Высокие значения СКО указывают на то, что старые и новые тики не соответствуют одним и тем же относительным местоположениям. Если СКО превышает установленное значение, это может быть связано с проблемами конвертации, приводящими к неправильной растяжке выходного покрытия.
В последней части отчета указываются координаты входных и выходных тиков и их x- и y-ошибки (см. ниже). Параметры преобразования получаются из наилучшего достигнутого согласования входных и выходных тиков. При использовании параметров преобразования для преобразования положения реальных входных тиков, полученные выходные положения не совпадут с действительным положением выходных тиков. Х- и y-ошибки являются мерой соответствия между истинными и вычисленными положениями выходных тиков. Иногда можно понять источник проблемы, взглянув на x- и y-ошибки.
tic id input x input y output x output y x error y error ------------------------------------------------------------------------ 1 2.000 16.946 2127791.000 343183.000 14.463 75.499 2 12.764 16.821 2143469.000 343326.000 -31.043 -85.363 3 2.052 1.976 2128000.000 320680.000 -36.290 -2.353 4 12.922 2.013 2143729.000 320912.000 20.245 -6.163 5 2.082 9.442 2127944.000 332015.000 22.016 -74.699 6 12.662 9.442 2143320.000 332015.000 10.609 93.079
Пример:
В этом примере покрытие преобразуется из единиц дигитайзера в в реальные координаты. Исходное покрытие INCHCOV содержит следующие опорные точки, указанные в дюймах дигитайзера:
IDTIC XTIC YTIC 1 2.000 16.946 2 12.764 16.821 3 2.052 1.976 4 12.922 2.013 5 2.082 9.442 6 12.662 9.442
Системой координат базовой карты была Система плоских координат штатов США с положениями опорных точек, указанными в футах. Каждый тик соответствует следующим положениям:
Tic-IDs X Coordinates Y Coordinates 1 2,127,791 343,183 2 2,143,469 343,326 3 2,128,000 320,680 4 2,143,729 320,912 5 2,127,944 332,015 6 2,143,320 332,015
Для запуска инструмента Преобразовать необходимо, чтобы существовало выходное покрытие. Используйте инструмент Создать покрытие (Create Coverage), чтобы создать выходное покрытие и, если нужно, скопировать файлы TIC и BND. Или создайте с помощью инструмента Преобразовать из текстового файла (Generate) новое покрытие, содержащее тики в нужных местах.
Файл тиков для выходного покрытия должен содержать координаты x,y для каждого тика, сохраняемого в выходном покрытии; в данном случае, местоположения тиков в Системе плоских координат штатов США. Координаты тиков можно скорректировать в ArcMap или в модулях TABLES или INFO ArcInfo Workstation.
Создав новые тики, можно преобразовать местоположения объектов в оцифрованном покрытии в реальные единицы. Инструмент Преобразовать используется для преобразования покрытия в проекции State Plane в дюймах (INCHCOV) в покрытие проекции State Plane в футах (STATECOV). Здесь показан пример афинного преобразования AFFINE.
Scale (X,Y) = (1452.317,1508.433) Skew (degrees) = (0.416)
Rotation (degrees) = (0.218) Translation = (2124994.654,317664.385)
RMS Error (input, output) = (0.048,71.614)
Affine X = Ax + By + C
Y = Dx + Ey + F
A = 1452.230 B = -5.526 C = 2124994.654
D = 15.858 E = 1508.462 F = 317664.385
tic id input x input y
output x output y x error y error
--------------------------------------------------
1 2.000 16.946
2127791.000 343183.000 14.463 75.499
2 12.764 16.821
2143469.000 343326.000 -31.043 -85.363
3 2.052 1.976
2128000.000 320680.000 -36.290 -2.353
4 12.922 2.013
2143729.000 320912.000 20.245 -6.163
5 2.082 9.442
2127944.000 332015.000 22.016 -74.699
6 12.662 9.442
2143320.000 332015.000 10.609 93.079
Здесь показан пример проективного преобразования PROJECTIVE для того же покрытия. Помните, что опцию PROJECTIVE используют обычно только тогда, когда исходные покрытия оцифровываются напрямую из аэрофотоснимков.
Преобразование координат покрытия INCHCOV
Approximate scale = 1479.087
RMS Error (input, output) = (0.040,60.878)
2D Projective X = (Ax + By + C) / (Gx + Hy + 1)
Y = (Dx + Ey + F) / (Gx + Hy + 1)
A = 55.667 B = -718.999 C = 2125052.558
D = -199.525 E = 1385.541 F = 317759.475
G = -0.001 H = 0.000
Principal point of input (xp,yp) = (2.000,16.946)
Exposure center of output(Xc,Yc) = (2127791.000,343183.000)
tic id input x input y
output x output y x error y error
--------------------------------------------------
1 2.000 16.946
2127791.000 343183.000 -4.438 45.252
2 12.764 16.821
2143469.000 343326.000 -11.447 -36.202
3 2.052 1.976
2128000.000 320680.000 -17.300 46.421
4 12.922 2.013
2143729.000 320912.000 1.704 -36.962
5 2.082 9.442
2127944.000 332015.000 21.787 -93.410
6 12.662 9.442
2143320.000 332015.000 9.694 74.901
Наконец, здесь показано то же самое покрытие, преобразованное с использованием опции SIMILARITY (преобразования подобия).
Преобразование координат покрытия inchcov
Scale (X,Y) = (1483.794,1483.794)
Rotation (degrees) = (0.377) Translation = (2124800.900,317942.729)
RMS Error (input,output) = (0.162,240.958)
Similarity X = Ax + By + C
Y = -Bx + Ay + F
A = 1483.762 B = -9.765
C = 2124800.900 F = 317942.729
tic id input x input y
output x output y x error y error
--------------------------------------------------
1 2.000 16.946
2127791.000 343183.000 -188.053 -76.916
2 12.764 16.821
2143469.000 343326.000 106.378 -300.277
3 2.052 1.976
2128000.000 320680.000 -173.717 214.680
4 12.922 2.013
2143729.000 320912.000 225.411 143.724
5 2.082 9.442
2127944.000 332015.000 -146.109 -42.262
6 12.662 9.442
2143320.000 332015.000 176.089 61.051
В следующем примере выполняется отражение покрытия с помощью аффинного преобразования (AFFINE).
Преобразование координат флага покрытия
Scale (X,Y) = (1.000,-1.000) Skew (degrees) = (0.000)
*** Negative Y scaling indicates reflection around X axis. ***
Rotation (degrees) = (180.000) Translation = (800.000,0.000)
RMS Error (input, output) = (0.000,0.000)
Affine X = Ax + By + C
Y = Dx + Ey + F
A = -1.000 B = 0.000 C = 800.000
D = 0.000 E = 1.000 F = 0.000
tic id input x input y
output x output y x error y error
--------------------------------------------------
1 700.000 100.000
100.000 100.000 0.000 0.000
2 700.000 800.000
100.000 800.000 0.000 0.000
3 100.000 800.000
700.000 800.000 0.000 0.000
4 100.000 100.000
700.000 100.000 0.000 0.000
Обратите внимание на сообщение об отражении в выходном отчете. На рисунке внизу показано, что происходит с покрытием. Прямоугольник, помеченный I, является входным покрытием. К координатам применяется Y-масштаб -1. В результате получается прямоугольник II. Коэффициента скоса нет, поэтому точки поворачиваются на 180 градусов, в положение III. Последним шагом (не показан) является сдвиг покрытия.
Литература
Maling, D.H. Coordinate Systems and Map Projections. George Philip, 1973.
Maling, D.H. "Coordinate Systems and Map Projections for GIS." In: Maguire D.J., M.F. Goodchild, и D.W. Rhind (ред.), Geographical Information Systems: principles and fpplications. Vol. 1, pp. 135-146. Longman Group UK Ltd., 1991.
Moffitt, F.H., и E.M. Mikhail, Photogrammetry. Third Edition. Harper and Row, Inc., 1980.
Pettofrezzo, A.J. Matrices and Transformations. Dover Publications, Inc., 1966.
Slama, C.C., C. Theurer, и S.W. Henriksen (eds.), Manual of Photogrammetry. 4th Edition. Chapter XIV, pp. 729-731. ASPRS, 1980.