在修改要素窗格中, 变换 包括用于变换要素的仿射和相似方法。可通过将可见且可编辑的要素选中对其进行变换,或可变换指定图层上的所有要素。
两点位移链接用于定义要变换的要素的原点和目标位置。仿射变换需要三个或多个链接。相似变换需要两个或多个链接。
结果是在链接之间进行了最佳拟合变换。形状、面积、距离或方向数据的变形程度取决于您选择应用的变换方法以及您创建的位移链接的数量和位置。
执行仿射或相似变换
- 在编辑选项卡的捕捉组中,启用您的捕捉首选项。
提示:
创建位移链接时,可以按住空格键暂时关闭捕捉。
- 在编辑选项卡的要素组中,单击修改 。
修改要素窗格随即显示。
- 展开对齐并单击变换 。
随即将在窗格中打开工具。
- 通过以下方法之一选择要变换的要素:
- 单击所选要素选项卡,然后使用活动选择 选择要变换的要素。
注:
要优化所选内容,请右键单击窗格中的要素,然后使用快捷菜单上的命令。
- 单击图层选项卡,然后选择要素所在的图层。此方法用于转换所选图层上的所有要素。
- 单击所选要素选项卡,然后使用活动选择 选择要变换的要素。
- 单击变换方法下拉箭头,然后选择变换方法。
- 仿射 - 至少需要三个链接。将对要素进行不同程度的缩放、旋转、转换、反映和偏斜。不会保留角度和长度。但是会保留直线距离之间的直线和比率,且平行线会保持平行。
- 相似 - 至少需要两个链接。将对要素均匀地进行缩放、旋转、转换和反映。直线距离之间的直线和比率保持不变,且平行线会保持平行。
注:
该操作将保留要素的相对形状,是处理 CAD 绘图和其他不应偏斜的基于文件的数据的理想之选。
- 绘制适当数量的两点位移链接,以定义要变换的要素的原点和目标位置。在绘制所需的最小数量的链接后,将窗格顶部显示均方根 (RMS) 误差。可绘制的链接数量没有限制。
- 单击添加新链接 。
线段构造工具栏将在地图底部显示。
- 单击原点并将其捕捉到要变换的要素上的边 或折点。
- 单击终点并将其捕捉到新目标位置。
提示:
要节省绘制链接的时间,可单击从文件加载链接 ,然后加载使用 ArcMap 创建的链接文件中包含的预定义链接。链接文件是 TAB 分隔的 ASCII 文本文件,每行包含每个链接的两对 XY 坐标值。
可加载四列或五列链接文件。四列链接文件包含一对源和目标坐标值。五列链接文件包含一个 ID 列(字符串或数值),位于包含坐标值的列前面。
五列链接文件的示例内容。
3 1032507.603691 1865947.186470 1032507.207115 1865926.170407 2 1032508.350801 1865986.785187 1032509.079486 1866025.405116 1 1032388.666424 1865961.179459 1032361.009572 1865981.280533
- 单击添加新链接 。
- 要删除位移链接,请执行以下操作:
- 单击选择 ,选择链接,然后按 Delete 键,或单击鼠标右键,然后在快捷菜单上单击删除。
- 要删除所有位移链接,请在窗格中单击删除所有链接 。
- 单击变换。
将变换要素并自动删除位移链接。
RMS 误差
RMS 误差用于根据位移链接的数量和位置报告变换的整体适应度。每个链接会生成测量目的地控制点位置及其实际变换位置之间拟合的残差。
窗格中显示的 RMS 误差是使用以下公式计算的每个链接生成的残差总和。
RMS 误差随着原始数据的精度和源地图的比例而变化。在某些情况下,高 RMS 误差可能表示您的数据将发生大量拉伸或倾斜。
您的特定要求最终将确定可以接受什么样的 RMS 误差。如果确定 RMS 误差过高,可以通过移除链接并添加新控制点调整误差。
变换方程
仿射
x’ = Ax + By + C
y’ = Dx + Ey + F
其中:
A = Sx cos rB = (Sy / cos s) sin(s - r) C = DxD = Sx sin rE = (Sy / cos s) cos(s - r) F = DySx, Sy = Scaling factors (can be negative) Dx, Dy = Translation distances in x and y directions (can be negative) s = Skew angle of shearing along x-axis, measured from y-axis (-pi/2 < s < pi/2) r = Rotation angle in radians, measured counterclockwise from x-axis (- pi < r <= pi)
相似
x' = Ax + By + C
y' = -Bx + Ay + F
其中:
A = s * cos tB = s * sin tC = Translation in x direction F = Translation in y direction
s = Scale change (same in x and y directions) t = Rotation angle, measured counterclockwise from the x-axis
射影
x' = (Ax + By + C) / (Gx + Hy + 1) y' = (Dx + Ey + F) / (Gx + Hy + 1)