3.3.1 空间数据的坐标转换
1. 几何纠正
几何纠正的变换函数主要有:仿射变换、相似性变换、橡皮筋变换、多项式变换等。
仿射变换可以使数据在不同的方向上进行不同程度的压缩和扩张。
相似性变换往往通过平移、旋转、缩放等方式对图形进行变换,在变换过程中保持图形的形状不发生改变(大小可以改变)。
橡皮筋变换也称样条变换,它通过一个样条函数来确定转换前后的空间关系,相当于拉伸一块像皮,使其通过所有的目标点,并且曲率最小。该方法至少需要10个控制点,其局域精度较高,要提高整体精度,必须增加控制点。
多项式变换是通过控制点和最小二乘法来构建一个多项式方程实现转换,其整体精度高于局域精度。一次多项式即仿射变换,需要3个控制点,二次多项式需要6个控制点,三次多项式需要10个控制点。具体采用哪一种,则要根据待纠正图形的变形情况、所在区域的地理特征及所选点数来决定。为实现各种变换,首先要确定变换方程的类型,然后通过输入多对控制点坐标和理论值坐标,求出方程的待定系数,从而建立起转换方程,并据此实现整个数据的几何纠正。
(1)地形图的纠正
四点纠正法:首先选定数学变换函数,再根据需纠正地形图的图幅行、列号、地形图的比例尺、图幅名称等,生成标准图廓,分别采集四个图廓点坐标作为控制点来进行纠正。
逐网格纠正法:逐网格纠正法是在四点纠正法不能满足精度要求的情况下采用的。和四点纠正法的区别就在于它是逐个方里网进行的,采样点数量较多,即对地形图中每一个方里网都要采点。具体采点时,一般要先采集源点(需纠正的地形图),后采集目标点(标准图廓点与方里网点);先采集图廓点,后采集方里网点。
(2)遥感影像的纠正
遥感影像的纠正,一般选用和遥感影像比例尺相近的地形图或正射影像图作为变换标准,选用合适的变换函数,分别在要纠正的遥感影像和标准地形图或正射影像图上采集同名地物点,从而确定变换前后的数学关系。
选点时应注意以下几个问题:一是选点不能太少;二是点在图上应尽量均匀分布;三是对特征变化较大的区域可适当多选点;四是图像边缘部分一定要选取控制点,以避免外推;五是所选特征点应当易于分辨且比较精细,如道路交叉点、河流与道路交叉点(桥梁)等这些由人工建筑构成的并且不会移动的地物点,尽量不要选择河床易变动的河流交叉点,以免点的移位影响配准精度。
在遥感影像的空间位置纠正后,还需要对其像元的亮度值进行重采样,常用的重采样方法有最近邻法、双线性内插法、三次卷积内插法等。
2. 投影变换
运用地图投影的方法,建立地球表面和平面上点的函数关系,完成球面坐标到平面坐标的转换。地图投影的使用,保证了空间信息在地域上的联系和完整性。
1)正解变换:通过建立一种投影变换为另一种投影的严密或近似的解析关系式,直接由一种投影的数字化坐标x、y变换到另一种投影的直角坐标X、Y。
2)反解变换:即由一种投影的坐标反解出地理坐标(x、y>B、L),然后再将地理坐标代入另一种投影的坐标公式中(B、L>X、Y),从而实现由一种投影的坐标到另一种投影坐标的变换(x、y>X、Y)。
3)数值变换:根据两种投影在变换区内的若干同名数字化点,采用插值法、有限差分法、最小二乘法、有限元法、待定系数法等,建立起两个区域之间的转换关系,从而实现由一种投影的坐标到另一种投影坐标的变换。
动态投影技术(On-The-Fly):允许具有不同投影的数据在一起工作,在同一数据框中的数据统一采用数据框的投影方式进行显示,对数据本身的投影不作改变。这种技术可以保持数据的独立性,减少投影转换带来的工作量。
除了几何纠正、投影变换之外,一般GIS软件还提供了对空间数据进行翻转(Flip)、镜像(Mirror)、缩放(Rescale)、旋转(Rotate)、平移(Shift)、扭曲(Warp)等简单的坐标转换方法。
3.3.2 空间数据的格式转换
空间数据也有多种格式。不同GIS软件往往都有自己的空间数据格式,即使同一GIS平台也可能存在不同的格式(如ArcGIS中的Coverage和Shapefile)。
为了实现数据共享和多种目的的应用,常常需要对不同格式的空间数据进行相互转换。一般的GIS平台软件,都提供了数据格式转换工具。
空间数据格式的转换一般有四种模式,即外部数据交换模式、直接数据访问模式、数据互操作模式和空间数据共享平台模式。后三种模式是较为理想的空间数据共享方式,但第一种模式与目前现实的技术、资金条件更相符,因此,对大多数普通用户而言,外部数据交换模式在具体应用中更具有可操作性和现实性。外部数据交换时,可直接利用软件商提供的交换文件(如DXF、MIF、E00等),也可以采用中介文件转换方式,即在GIS平台软件的支持下,将空间数据按自定义的格式输出为一个文本文件作为中介,然后利用其他GIS软件的数据接口程序,读入该中介文件,自动生成目标格式的空间数据。
空间数据相互中要注意到可能造成空间数据的部分丢失,包括空间位置、属性数据、拓扑关系、元数据等的丢失。因此在实际使用中,一方面要尽量避免不必要的数据转换,另一方面需要在数据转换后,对数据进行及时的检查,了解转换过程中信息的丢失情况,做出合理的评估及补救方案。
3.3.3 空间数据的结构转换
1. 矢量数据向栅格数据的转换
矢量数据的基本坐标是直角坐标X、Y,其坐标原点一般取图的左下角;栅格数据的基本坐标是行和列(i,j),其坐标原点一般取图的左上角。两种数据变换时,令直角坐标X轴和Y轴分别与行和列平行,按确定的栅格大小进行采样。由于矢量数据的基本要素是点、线、面,因而只要实现点、线、面的转换,各种线划图形的变换问题基本上都可以得到解决。对于点实体而言,每个实体由一个坐标对表示,转换时只需要计算出点所在的栅格行列号即可。线实体的矢量结构由一系列坐标对表示,在进行转换时,需要计算出线所经过的所有栅格,并将线的属性赋予这些栅格。多边形由矢量向栅格的转换又称为多边形填充,它首先将多边形的边界转换成栅格,然后对多边形内部的所有栅格进行填充,赋予多边形的属性值。常用的多边形填充算法有内部点扩散法、复数积分算法、射线算法、扫描算法等,但这些算法大多效率不高,速度较慢。目前,大多数GIS软件采用边界代数算法。
边界代数算法是一种基于积分思想的矢量数据转换成栅格数据的算法,它适合于将记录有拓扑关系的多边形矢量数据转换为栅格结构。它根据边界的拓扑信息,通过加减代数运算将边界位置信息动态地赋给各栅格点(由多边形某点开始,按顺时针方向搜索边界线,上行时边界左侧栅格点减去某值,下行时边界左侧栅格点加上该值),由此实现矢量格式到栅格格式的高速转换,而不需要考虑边界与搜索轨迹之间的关系,因而这种算法速度较快,占用计算机资源较少,是一种较为优秀的多边形填充算法。
2. 栅格数据向矢量数据的转换
栅格数据向矢量数据的转换过程实质上就是栅格数据的矢量化过程。在矢量化过程中,遇到某个像元的值与周围均不同,则该像元代表一个点;线的特征是具有某一属性值的像元是连续的,矢量化时,可以将它们搜索出来,并细化处理,取中间的像元连成的位置作为一条线;对于面状栅格数据进行矢量化时,只要逐行扫描,先找到一个要素集合的边缘点,然后沿面状要素的边缘跟踪即可,直到整个面域的边界(包括外沿及可能的各内沿)跟踪结束(封闭)为止。它通常包括以下4个基本步骤:
1)提取多边形边界:将栅格图像二值化或者以特殊数值表示边界点和节点。
2)追踪边界线:对每个边界弧段从一个节点向下一个节点搜索,直到连接成为边界弧段。
3)去除冗余点并进行曲线平滑,从而可以消除由于栅格数据引起的锯齿效果。
4)生成拓扑关系:对于矢量边界弧段,判断与原图上各多边形的空间关系,形成完整的拓扑结构并建立与属性数据的联系。
3.3.4空间数据的裁切
空间数据裁切:从整个空间数据中裁切出一部分,获取真正需要的研究区域的数据,以减少不必要的数据参与运算。
1. 矢量数据的裁切
2. 栅格数据的裁切
3.3.5 空间数据的拼接
数据拼接是指将空间相邻的数据拼接成为一个完整的目标数据。
空间数据拼接一般需要以下几个过程:1)拼接前的数据准备。2)数据合并。3)边缘匹配处理。
1. 矢量数据的拼接
2. 栅格数据的拼接
3.3.6 空间数据的提取
空间数据提取:根据一定的属性条件(一般采用SQL表达式),从已有的数据中选取部分要素,输出为一个新的数据。它相当于在原数据中提取符合条件的子集。
与数据裁切相似的是,空间数据提取也是从原数据中求得一个子集,但不同的是,空间数据裁切的是特定空间范围内的子集,而空间数据提取的是满足一定属性要求的子集。
本节视频

