1、靖娟利 土木工程系,第四章 空间数据处理,主要内容,4.1 坐标变换,坐标变换的实质是建立两个平面点之间的一一对应关系,包括几何纠正和投影转换。 如右图所示,旋转、平移、比例缩放都属于坐标变换。,4.1 坐标变换,一、几何纠正 为什么进行几何纠正? 地图变形(均匀变形、非均匀变形) 分幅扫描 数字化中的位置移动 遥感影像本身存在几何变形 投影方式不同 目的 为了实现对数字化数据的坐标系转换和图纸变形误差的改正 实质 建立纠正图象与标准地图的一一对应关系 变换方法 精确方法:仿射变换(相似变换)、双线性变换、平方变换、立方变换等 近似方法:橡皮板变换 纠正步骤 纠正点数据采集函数建立逐点或网格纠
2、正,橡皮板变换,函数变换,4.1 坐标变换,1、相似变换:当图纸在x,y两个方向上的变形比例尺相同。 2、仿射变换:设图纸变形引起x,y两个方向比例尺不同,此时图纸存在仿射变形。 根据图形变换原理,得出坐标公式:,4.1 坐标变换,化简为:误差方程为:其中:X、Y为已知的理论坐标。 由Qx2最小和Qy2最小的条件可得到两组法方程:其中n为控制点个数,x,y为控制点的数字化坐标,X,Y为控制点的理论值,a1,a2,a3,b1,b2,b3为待定系数。,4.1 坐标变换,二、投影转换,4.1 坐标变换,正解变换:通过建立一种投影变换与另一种投影变换的严密或近似的解析关系式,直接由一种投影的数字化坐标
3、x,y变换为另一种投影的直角坐标X,Y。 反解变换:由一种投影的坐标反解出地理坐标(x、y B、L ) ,然后将地理坐标代入另一种投影的坐标公式中(B、Lx、y) ,实现由一种投影的坐标到另一种投影坐标的变换(x、yX、Y)。 数值变换:根据两种投影在变换区内的若干同名数字化点,采用插值法,或有限差分法,或有限元法,或待定系数法等,实现由一种投影的坐标到另一种投影坐标的变换。 以上三种变换方法中,前两种是在已知原投影和新投影解析式条件下,来求得两者之间的解析关系式;后一种是不知原投影的解析式或不知原投影方程的情况下,采用多项式来确定两者之间的关系。,4.2 图形编辑,图形编辑 又叫数据编辑、数
4、字化编辑,是指对地图资料数字化后的数据进行编辑加工; 主要的目的是在改正数据差错的同时,相应地改正数字化资料的图形。,4.2 图形编辑,一、图形数字化常见错误 伪节点(Pseudo Node)伪节点使一条完整的线变成两段 悬挂节点(Dangling Node)如果一个节点只与一条线相连接,那么该节点称为悬挂节点,悬挂节点,4.2 图形编辑,“碎屑”多边形或“条带”多边形(Sliver Polygon)一般由于重复录入引起,由于前后两次录入同一条线的位置不可能完全一致,造成了“碎屑”多边形。 不正规的多边形(Weird Polygon) 是由于输入线时,点的次序倒置或者位置不准确引起的,4.2
5、图形编辑,二、结点的编辑 1、结点吻合(Snap),或称结点匹配、和结点附合。,结点移动,鼠标拉框,求交点,编辑方法,自动匹配,4.2 图形编辑,2、结点与线的吻合 在数字化过程中,常遇到一个结点与一个线状目标的中间相交。由于测量或数字化误差,它不可能完全交于线目标上,需要进行编辑,称为结点与线的吻合。,编辑方法,结点移动,线段求交,自动编辑,4.2 图形编辑,3、清除假结点 由仅有两个线目标相关联的结点成为假结点。 有些系统要将这种假结点清除掉(如ARC/INFO),即将目标A 和B合并成一条,使它们之间不存在结点; 但有些系统并不要求清除假结点,如Geostar,因为它们并不影响空间查询、
6、分析和制图。,4.2 图形编辑,三、图形编辑 包括用鼠标增加或删除一个点、线、面实体,移动、旋转一个点、线、面实体。,边界弧段顶点的编辑,删除与增加一个顶点,删除一条弧段,移动一个顶点,4.2 图形编辑,四、数据检查与清理 数据检查指拓扑关系的检查,结点是否匹配,是否存在悬挂弧段,多边形是否封闭,是否有假结点。要求系统能将有错误或不正确的拓扑关系的点、线和面用不同的颜色和符号表示出来,以便于人工检查和修改。数据清理则是用自动的方法清除空间数据的错误. 例如给定一个结点吻合的容差使该容差范围内的结点自动吻合在一起,并建立拓扑关系。给定悬挂弧段容差,将小于该容差的短弧自动删除。,4.2 图形编辑,
7、五、关键算法,点的捕捉,1,2,3,线的捕捉,多边形的捕捉,4.2 图形编辑,1、点的捕捉 设光标点为S(x,y),某一点状要素的坐标为A(X,Y); 可设一捕捉半径D。若S和A的距离d小于D则认为捕捉成功,即认为找到的点是A,否则失败,继续搜索其它点;乘方运算影响了搜索的速度,因此,把距离d的计算改为:捕捉范围由圆改为矩形,这可大大加快搜索速度。,4.2 图形编辑,2、线的捕捉 设光标点坐标为S(x,y),D为捕捉半径,线的坐标为(x1,y1),(x2,y2),(xn,yn)。通过计算S到该线的每个直线段的距离d。若min(d1,d2,dn-1)D,则认为光标S捕捉到了该条线,否则为未捕捉到
8、。 加快线捕捉的速度的方法: 每计算一个距离di就进行一次比较,若diD,则捕捉成功,不需再进行下面直线段到点S的距离计算了; 把不可能被光标捕捉到的线,用简单算法去除。 对于线段也采用类似的方法处理。 简化距离公式:点S(x,y)到直线段(x1,y1),(x2,y2)的距离d的计算公式为:,点到线的距离,简化方法,简化距离公式,4.2 图形编辑,3、面的捕捉 实际上就是判断光标点S(x,y)是否在多边形内,若在多边形内则说明捕捉到。 判断点是否在多边形内的算法主要有垂线法或转角法。 垂线法的基本思想是从光标点引垂线(实际上可以是任意方向的射线),计算与多边形的交点个数。 若交点个数为奇数则说
9、明该点在多边形内;若交点个数为偶数,则该点在多边形外。 加快速度的方法: 找出该多边形的外接矩形,若光标点落在该矩形中,才有可能捕捉到该面,否则放弃对该多边形的进一步计算和判断。 对不可能有交点的线段应通过简单的坐标比较迅速去除。 运用计算交点的技巧。,4.3 拓扑关系的建立,点线(弧)拓扑关系的建立,1,2,在图形采集和编辑中实时建立,多边形拓扑关系自动建立,在图形采集和编辑之后自动建立,4.3 拓扑关系的建立,一、点线(弧)拓扑关系的建立 在图形采集和编辑中实时建立,结点-弧段表,弧段-结点表,4.3 拓扑关系的建立,二、多边形拓扑关系自动建立,链的组织,结点匹配,拓扑检查,找出在链的中间
10、相交的情况,自动切成新链;把链按一定顺序存储,并把链按顺序编号。,把一定限差内的链的端点作为一个结点,其坐标值取多个端点的平均值。对结点顺序编号。,通过判断一条链的端点是否有与之匹配的端点来进行.,创建多边形,在所有的错误都改正的情况下,建立多边形。,4.4 图形的裁剪、合并,一、图形裁剪(开窗处理 ) 方式: 正窗,提取窗口内的数据。开负窗,提取窗口外的数据子集。 矩形窗和多边形窗。 算法: 点、线、面的窗口裁剪-计算机图形学。 不规则多边形开窗-相当于多边形叠置处理。,4.4 图形的裁剪、合并,二、图形合并(数据文件合并) 一幅图内的多层数据合并在一起;或将相邻的多幅图的同一层数据合并.涉
11、及到空间拓扑关系的重建。对于多边形,由于同一个目标在两幅图内已形成独立的多边形,合并时,需去除公共边界,属性合并,具体算法,删去共同线段。 实际处理过程是先删除两个多边形,解除空间关系后,删除公共边,再重建拓扑。,4.5 图幅接边,一、为什么进行接边处理? 几何裂缝:指由数据文件边界分开的一个地物的两部分不能精确地衔接。逻辑裂缝:同一地物地物编码不同或具有不同的属性信息,如公路的宽度,等高线高程等。 二、图幅接边 识别或提取相邻图幅(当图幅编号合理的情况下) 几何接边 逻辑接边,4.5 图幅接边,几何接边,4.5 图幅接边,逻辑接边 目的: 检查同一地物在相邻图幅的地物编码和属性值是否一致,不
12、一致,进行人工编辑。 将同一地物在相邻图幅的空间数据在逻辑上连在一起。 方法: 索引文件,建立双向指针。 关键字,空间操作的方法。,索引文件,关键字,4.6 数据压缩与光滑,一、数据压缩(矢量数据压缩) 目的:减少数据存储量 前提: 位置的正确性,力求压缩后的曲线与压缩前的曲线偏差最小; 弯曲特征的正确性,力求保留反映曲线形态特征的特征点。 方法: 距离限差(垂距法、 DouglasPeucker) 角度限差,4.6 数据压缩与光滑,垂距法 基本思路: 每次顺序取曲线上的三个点,计算中间点与其它两点连线的垂线距离d,并与限差D比较。若dD,则中间点去掉;若dD,则中间点保留。然后顺序取下三个点
13、继续处理,直到这条线结束。 特点: 压缩算法好,可在数字化时实时处理,每次判断下一个数字化的点,且计算量较小。,4.6 数据压缩与光滑,DouglasPeucker 基本思路: 对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax,用dmax与限差D相比; 若dmaxD,这条曲线上的中间点全部舍去; 若dmaxD,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法。特点:压缩效果好,但必须在对整条曲线数字化完成后才能进行,且计算量较大。,4.6 数据压缩与光滑,二、曲线光滑(拟合) 实质:是假想曲线为一组离散点,寻找形式较简单、性能良
14、好的曲线解析式。 曲线光滑处理,也称采样点曲线拟合。 方法:张力样条函数、分段三次多项式、分段圆弧和切线方向内插等。,4.6 空间数据格式转换,矢量向栅格的转换 栅格化,点的栅格化,1,2,3,线的栅格化,面的栅格化,4.6 空间数据格式转换,坐标系统,4.6 空间数据格式转换,一、点的栅格化 设:矢量坐标点(x,y)转换后的单元行列值为I,J栅格单元大小:dx,dy图形最小坐标值: xmin,ymin 则有:,4.6 空间数据格式转换,二、线的栅格化 设:线段两端点坐标分别为:(x1,y1) 和(x2,y2),转换后的单元行列值分别为:( I1, J1 ), ( I2, J2 )行数差:I
15、= | I2 I1 |,列数差:J = | J2 J1 | 分两种情况: 列数差大于行数差J I 行数差大于列数差I J,4.6 空间数据格式转换,三、面的栅格化 又称为边界填充,就是在矢量表示的多边形界内部的所有栅格上赋予相应的多边形编号。,基于弧段数据的栅格化,基于多边形数据的栅格化,方法:,4.6 空间数据格式转换,基于弧段数据的栅格化(带扫描算法) 对每条弧段求与各扫描线交点 记录每个交点的左右区码 逐段生成栅格,弧段1,弧段2,弧段3,(xi , yi),(xi+1 , yi+1),(x2 , y2),(x3 , y3),(x1 , y1),4.6 空间数据格式转换,基于多边形数据的
16、栅格化-边界代数法(BAF) 基本思想: 对每幅地图的全部具有左右多边形编号的边界弧段,沿其前进的方向逐条搜索; 当弧段上行时,将该弧段与左图框之间的栅格加上一个值(该弧段的左多边形编号)(该弧段的右多边形编号); 当弧段下行时,将该弧段与左图框之间的栅格加上一个值(该弧段的右多边形编号)(该弧段的左多边形编号); 当弧段平行与栅格行行走时,不作运算。,4.6 空间数据格式转换,4.6 空间数据格式转换,栅格向矢量的转换-矢量化,点的矢量化,1,2,3,线的矢量化,面的矢量化,4.6 空间数据格式转换,一、点的矢量化 设:单元行列值为I,J转换后的中心坐标点(x,y)栅格单元大小:dx,dy图
17、形最小坐标值:Xmin,Ymin 则有:,4.6 空间数据格式转换,二、线的矢量化 基于图像数据的矢量化方法 对扫描仪获得的地图图像中线段中心线进行矢量跟踪 手工跟踪屏幕数字化 自动跟踪矢量化,4.6 空间数据格式转换,三、面的矢量化 提取以相同编号的栅格集合表示的多边形区域的边界和边界的拓扑关系,并表示成多个小直线断的矢量格式边界线的过程。 步骤: 多边形边界提取:图像二值化; 边界线追踪:对每个边界弧段由一个结点向另一个结点搜索,通常对每个已知边界点需沿除了进入方向的其他7个方向搜索下一个边界点,直到连成边界弧段; 拓扑关系生成:对于矢量表示的边界弧段数据,判断其与原图上各多边形的空间关系
18、,以形成完整的拓扑结构并建立与属性数据的联系; 去除多余点及曲线光滑:去除多余点,进行曲线光滑。,4.6 空间数据格式转换,基于图像处理的矢量化方法 步骤:,二值化,细化,跟踪,创建拓扑,4.6 空间数据格式转换,二值化:是在一个设定的灰度阈值的基础上,对扫描获得的灰度图像进行0或1的简化处理;,(a)扫描前的矢量数据 (b)扫描得到的灰度值 (c)二值化后得到的栅格数据,4.6 空间数据格式转换,细化: 将二值图像象元阵列逐步剥除轮廓边缘的点,使之成为线划宽度只有一个象元的骨架图形。 细化后的图形骨架既保留了原图形的绝大部分特征,又便于下一步的跟踪处理。 细化的代表性方法:剥皮法、骨架法 扫
19、描地图细化处理应符合下列基本要求:保持原线划的连续性;线宽只为一个象元;细划后的骨架应是原线划的中心线;保持图形的原有特征。,4.6 空间数据格式转换,跟综:把骨架转换为矢量图形的坐标序列。 基本步骤: 从左向右,从上向下搜索线划起始点,并记下坐标; 朝该点的8个方向追踪点,若没有,则本条线的追踪结束,转1进行下条线的追踪;否则记下坐标。 把搜索点移到新取的点上,转2。创建拓扑,4.6 空间数据格式转换,基于窗口匹配的矢量化算法(双边界直接搜索算法,DBDF) 基本思想: 通过边界提取,将左右多边形信息保存在边界点上,每条边界弧段由两个并行的边界链组成,分别记录该边界弧段的左右多边形编号。 转
20、化步骤: 边界点和节点提取:采用2*2栅格阵列作为窗口顺序沿行、列方向对栅格图像全图扫描,如果窗口内四个栅格有且仅有两个不同的编号,则该四个栅格表示为边界点;如果窗口内四个栅格有三个以上不同编号,则标识为结点,保持各栅格原多边形编号信息。对于对角线上栅格两两相同的情,由于造成了多边形的不连通,也当作结点处理。,节点的8种结构,边界点的6种结构,4.6 空间数据格式转换,边界线搜索与左右多边形信息记录:首先记录开始边界点的两个多边形编号,作为该弧段的左右多边形,下一点组的搜索方向则由进入当前点的搜索方向和该点组的可能走向决定,每个边界点组只能有两个走向,一个是前点组进入的方向,另一个则可确定为将
21、要搜索后续点组的方向。,小结,本章主要讨论了空间数据处理的基本方法。包括坐标变换、图形编辑、创建拓扑、数据压缩、图幅接边、数据格式转换等。,重点掌握坐标变换的原理、图形编辑的基本方法、矢量数据压缩方法、图幅接边的基本原理、数据转换的主要方法。,习题,1如何发现进入GIS中的数据有错误? 2一般从扫描仪上直接得到的地图有什么问题?如何改正? 3如果两个作业小组各自从数字化仪上得到两张相邻图幅的地图数据在GIS中不能准确对接该怎么办? 4空间数据几何纠正的常用方法有哪些? 5假设一条矢量等高线上的点太过于密集了,如何减少占用系统的存储空间?你能给出多少方法?各有什么适用范围? 6.为什么要进行图幅拼接? 7.空间数据格式转换的主要方法?,