Как работает инструмент Преобразовать (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.

9/10/2013