5.3 空间数据的坐标变换
地理信息系统中由于输入数据的多样性,及输入输出图形设备的不同,处理问题时常遇到多种坐标系,因此,必须进行坐标变换。此外,由于输入输出图件比例尺的不同,图形投影坐标的不统一及地图图纸的变形等,要求对图形进行变换。
5.3.1 坐标系及坐标变换
一、几种常用的坐标系
用户坐标系,通常是笛卡尔直角坐标系;
设备坐标系,如图形终端,绘图仪,数字化仪等设备都有其自己的坐标系。如图5-7所示。
二、从窗口区到视图区的变换
用户坐标系的定义从理论上讲是连续无限的,而设备坐标系是有界的。用户可以在用户坐标系下指定任意的感兴趣的区域输出到设备上,这个区域称为窗口区。所以,窗口区是用户图形的一部分。
图形设备上输出图形的最大区域称屏幕域,任何等于或小于屏幕域的区域称为视图区。所以,视图区是用户在屏幕上定义的显示区域。
由于窗口在用户坐标系中定义,视图在设备坐标系中定义,两者处于不同坐标系下,因此把窗口内图形数据显示到视图区时存在着窗口到视区的坐标变换,这种变换实质上是用户坐标向设备坐标转换。
设用户坐标窗口左下角和右上角为(WxL,WYB)和(WxR, WYT)设备坐标下的视图区左下角和右上角为(VXL,VYB)和(VXR,VYT),现在在用户坐标下有一点W(xw,yw),转换到视图内在设备坐标系下的点S(xs,ys),可如下根据相似理论求得:
从而方程(5-1)可简化为
其中a,c表示视图区和窗口区之间在x轴和y轴方向上伸缩比;b,d表示定位点在x,y轴方向上的偏移量。
需要说明的是为了使视图区内显示的图形和窗口内的图形形状保持不失真,窗口和视图区的形状应保持相似,这个要求对用户来说,显然过于苛刻。为了保证窗口区和视图区形状不相似的情况下,显示的图不失真,同时保证窗口内的图形在视图区内全部显示,可在坐标变换中引
5.3.2 图形的几何变换
在地理信息系统中,如同计算机辅助设计一样存在着对图形缩放,平移,旋转,投影等一系列图形的几何变换问题。这些变换的实质是对组成图形各点进行坐标变换,坐标变换的数学基础是矩阵运算。
在二维空间中,一个点的坐标可以表示为一行向量[x y]或一列向
二维空间具有n个点的图形,其点集为n×2阶矩阵:
三维空间具有n个点的图形,其点集为n×3阶矩阵:
图形变换的实质是确定变换矩阵,然后用矩阵运算实现变换,其中主要的变换如下:
图形的平移变换只改变图形位置,不改变形状和大小。
图形的旋转变换用来改变图形的视角,变换后图形各部分间线性关系和角度关系不变,变换后直线长度不变。
图形的比例变换用来改变图形大小和形状。
图形的错切变换引起图形角度关系的改变。
总之,图形变换是对图形的几何数据进行变换,变换后产生新的图形,但不改变图形元素间拓扑关系。图形的几何变换可以是在固定坐标系中变换图形,变换后图形在坐标系中的坐标值发生变化;也可以是图形不变而变换坐标系,变换后图形在新的坐标系中具有新的坐标值。这两种变换在本质上是一样的,只是考虑变换参数取正值还是负值。例如:点P沿x轴正向平移Tx,相当于坐标系沿x轴反向平移Tx;又如点P绕原点逆时针旋转θ角,等价于坐标系绕原点顺时针转θ角。
一、二维图形几何变换的一般表示
如果用P=[x,y]表示平面上一个未变换点,用P*=[x*,y*]表示经变换后的新点,对二维图形变换可分下列三种情况:
1.平移变换
x*=x+Tx
y*=y+Ty
其中:Tx,Ty分别为x,y方向平移量,相应的向量形式为:
[x*,y*]=[x,y]+[Tx,Ty]
2.比例变换
x*=x·Sx
y*=y·Sy
其中:Sx,Sy分别为x,y方向的比例系数,相应的矩阵形式为:
3.旋转变换
若将点(x,y)逆时针旋转θ角,如图5-9所示。
则:x*=A·cos(α+θ)=A·(cosθ·cosα-sinθ·sinα)
=x· cosθ-y· sinθ
y*=A·sin(α+θ)=A(sinα· cosθ+cosα·sinθ)
=x· sinθ+y·cosθ
相应的矩阵形式为:
上述变换方法中采用矩阵乘法即可实现比例,旋转变换,但无法实现平移变换,平移变换需用加法。为寻求一种一致的或同类的方法来处理这些变换引入齐次坐标变换的概念。
二、二维图形几何变换的齐次坐标表示
齐次坐标技术是从几何学中发展起来的,它实质上是用n+1维向量来表示n维向量。采用了齐次坐标技术,可把图形变换表示成图形的点集矩阵与某一变换矩阵进行矩阵乘,从而借助计算机的高速计算得到变换后数据。
二维图形中点用非齐次坐标表示时,具有两个分量,而用齐次坐标表示时则有3个分量。二维图形几何变换的齐次坐标表示实质上是在3维空间内讨论两维向量的变换。通常用(x,y,1)代表齐次坐标表示法中二维平面内一个未变换点,用3×3矩阵表示变换矩阵。变换矩阵为:
点的坐标变换表示为:
行缩放、反射、切变、旋转等基本变换。
[l m] 对图形进行平移变换。
[p q ]是对图形作投影变换。 P的作用是在x轴的1/p处产生一个灭点,q的作用是在y轴的1/q处产生一个灭点。
[s]是对图形作全比例变换。
① 当s>1时,整幅图按比例缩小;②当0<s<1,整幅图按比例放大;③当s<0时,图形对原点反射加比例变换。
采用齐次坐标,用变换矩阵可方便地实现图形变换。设变换前的点坐标为(x,y,1),变换后为(x*,y*,1),则:
1.平移变换
2.比例变换
3.旋转变换
4.反射变换(亦称对称变换、镜象变化)
(1)对称于y轴的反射变换
(2)对称于x轴的反射变换
(3)对称于原点的反射变换
(4)对称于直线x=y的反射变换
(5)对称于直线x=-y的反射变换
5.切变变换(亦称错切变换、错位变换、错移交换)(1)沿x轴方向关于y的切变
(2)沿y轴方向关于x的切变
6.组合变换
多个基本变换组成的复杂变换称组合变换。组合变换矩阵,实际上是多个简单变换矩阵的连乘。
下面以地理信息系统中数字化坐标与直角地图坐标之间转换为例,说明组合变换。
图5-10中Z′O′Y′为直角地图坐标系,Z″O″Y″为数字化坐标系,设两坐标系之间夹角为θ,数字化仪坐标原点O″,相对直角地图坐标系原点O′的平移距离为A0,B0。
假设在数字化仪坐标中有一坐标点P(x,y),则将其转换到直角地图坐标系中,需要先作绕O″旋转θ角的变换,再作平移A0B0的变换。组合变换矩阵为:
必须指出,由于矩阵的乘法不符合交换律,即A·B≠B·A(A,B均为矩阵)。所以,组合变换的顺序是不能颠倒的。也就是说用基本变换矩阵对图形进行变换时,组合顺序不同,产生变换结果可能不同。例如:上面对图5-10先进行旋转变换,再作平移交换,平移量不受旋转变换的影响。若先作平移,再作旋转变换,将得到同上面不同的组合变换矩阵,因为这时的平移量受到旋转变换的影响。
三、三维图形的几何变换
齐次坐标的三维图形坐标变换可用4×4变换矩阵来实现。其变换矩阵为:
进行缩放、反射、切变、旋转等基本变换;
[l m n] 对图形进行平移变换;
[p q r]T 对图形进行透视变换;
[s] 对图形进行全比例变换。