第四章 空间数据的处理 本章概述:通过前面的课程,我们学习了GIS的数据源、数据结构、数据模型、数据编码、数据质量控制等等有关GIS数据的基本知识。由于数据获取方法的不同和对数据用途的不同要求,我们所采集的GIS数据往往存在问题、错误或者不符合用途要求的情况,这些数据必须通过数据处理才能达到应用的要求。本章将介绍空间数据处理的基本内容、途径和算法。 §4.1 矢量数据拓扑关系的自动建立矢量数据拓扑关系在空间数据的查询与分析中非常重要,矢量数据拓扑关系自动建立的算法是GIS中的关键算法之一,这里介绍其实现的基本步骤和要点。 §4.2 矢量数据的图形编辑 图形编辑是纠正数据采集错误的重要手段,其基本的功能要求是:具有友好的人机界面;具有对几何数据和属性编码的修改功能;具有分层显示和窗口功能。图形编辑的关键是点、线、面的捕捉。 §4.3 空间数据的坐标变换 矢量数据压缩的目的是删除冗余数据,减少数据的存贮量,节省存贮空间,加快后继处理的速度。矢量方法有道格拉斯——普克法(Douglas—Peucker)、垂距法、光栏法、并对几种方法进行比较。栅格数据的压缩包括直接栅格编码、游程长度(行程)编码、四叉树编码。 §4.5 空间数据的结构变换 介绍矢量——栅格转换和栅格——矢量转换。矢量─栅格转换有线的栅格化方法、和面(多边形)的栅格化方法。 线的栅格化方法包括DDA法(数字微分分析法)、Bresenham算法。 面(多边形)的栅格化方法包括内部点扩散法、扫描法、和边填充算法。栅格数据到矢量数据转换的一般过程可描述为:二值化、二值图像的预处理、细化、追踪、拓扑化。 §4.6 空间数据的插值方法 在已观测点的区域内估算未观测点的数据的过程称为内插;在已观测点的区域外估算未观测点的数据的过程称为外推。常用的内插方法有:边界内插、趋势面分析、局部内插、移动平均法。 §4.7 图像数据的处理方法 一幅图像经过生成、复制、扫描、传输、变换后,由于多种因素的影响,图像的质量不能满足要求,这时就需要进行图像增强处理。图像增强的目的是改善图像的效果,以更适应人眼的观察或计算机的处理。基本的图像增强方法有:灰度级的修整、空域处理、频域处理。 §4.8 空间数据的更新处理 GIS的生命力将最终取决于其空间数据库的现势性,遥感数据是GIS的重要信息源和数据更新的手段。全球卫星定位系统(GPS)作为一种新型的定位数据的采集和更新手段,具有高精度、高效益、全天候、低成本、高灵活性、实时性等特有的优势,因而在GIS中具有重要的应用价值。 您可能还想看前贴【GIS原理学习(一)】【GIS原理学习(二)】【GIS原理学习(三)】【GIS原理学习(四)】【GIS原理学习(五)】【GIS原理学习(六)】【GIS原理学习(七)】【GIS原理学习(八)】【GIS原理学习(九)】【GIS原理学习(十)】【GIS原理学习(十一)】【GIS原理学习(十二)】【GIS原理学习(十三)】【GIS原理学习(十四)】【GIS原理学习(十五)】【GIS原理学习(十六)】【GIS原理学习(十七)】 §4.1 矢量数据拓扑关系的自动建立 矢量数据拓扑关系在空间数据的查询与分析中非常重要,矢量数据拓扑关系自动建立的算法是GIS中的关键算法之一,下面介绍其实现的基本步骤和要点。矢量数据自动拓扑的步骤可分为以下几部分: 一、链的组织 找出在链的中间相交,而不是在端点相交的情况,自动切成新链;把链按一定顺序存储,然后把链按顺序编号。 二、结点匹配 结点匹配是指把一定限差内的链的端点作为一个结点,其坐标值取多个端点的平均值。 三、检查多边形是否闭合 检查多边形是否闭合可以通过判断一条链的端点是否有与之匹配的端点来进行。 四、建立多边形 建立多边形是矢量数据自动拓扑中最关键的部分,由于其算法比较复杂。先介绍了几个基本概念:顺时针方向构多边形、最靠右边的链、多边形面积的计算,然后介绍其实现的过程。 五、岛的判断 论述多边形之间的一种关系。岛的判断即指找出多边形互相包含的情况,也即寻找多边形的连通边界。 六、确定多边形的属性 多边形以内点标识。内点的属性常赋于多边形。 矢量数据拓扑关系在空间数据的查询与分析中非常重要,矢量数据拓扑关系自动建立的算法是GIS中的关键算法之一,下面介绍其实现的基本步骤和要点。矢量数据自动拓扑的步骤可分为以下几步: 找出在链的中间相交(图4-1-1左图),而不是在端点相交(图4-1-2右图)的情况,自动切成新链;把链按一定顺序存储,如按最大或最小的x或y坐标的顺序,这样查找和检索都比较方便,然后把链按顺序编号。
图 4-1-1 结点匹配是指把一定限差内的链的端点作为一个结点,其坐标值取多个端点的平均值,如图4-1-2。然后,对结点顺序编号。
检查多边形是否闭合可以通过判断一条链的端点是否有与之匹配的端点来进行。如图4-1-3,弧a的端点P没有与之匹配的端点,因此无法用该条链与其它链组成闭合多边形。多边形不闭合的原因可能是由于结点匹配限差的问题,造成应匹配的端点未匹配,或由于数字化误差较大,或数字化错误,这些可以通过图形编辑或重新确定匹配限差来确定。另外,还可能这条链本身就是悬挂链,不需参加多边形拓扑,这种情况下可以作一标记,使之不参加下一阶段拓扑建立多边形的工作。 图4-1-3
四、建立多边形 建立多边形是矢量数据自动拓扑中最关键的部分,由于其算法比较复杂,所以,先介绍几个基本概念,然后介绍其实现的过程。 (一)、概念 1°、顺时针方向构多边形
(1) (2) 图4-1-4
2°、最靠右边的链 最靠右边的链是指从链的一个端点出发,在这条链的方向上最右边的第一条链,实质上它也是左边最近链。如图4-1-5,a的最右边的链为d。找最靠右边的链可通过计算链的方向和夹角实现。 3°、多边形面积的计算 设构成多边形的坐标串为(xi,yi),i=1,2,…,n,则多边形的面积A可用如下公式求出: 其中,当i=n时,yn+1=y1,xn+1=x1 当i=1时,y0=yn。根据该公式,当多边形由顺时针方向构成时,面积为正;反之,面积为负(图4-1-6)。
(1) (2) 图4-1-6 (二)、建立多边形的基本过程 1°、顺序取一个结点为起始结点,取完为止;取过该结点的任一条链作为起始链。 2°、取这条链的另一结点,找这个结点上,靠这条链最右边的链,作为下一条链。 3°、是否回到起点:是,已形成一多边形,记录之,并转4°;否,转2°。 4°、取起始点上开始的,刚才所形成多边形的最后一条边作为新的起始链,转2°;若这条链已用过两次,即已成为两个多边形的边,则转1°。 图4-1-7 例如,对图4-1-7,建立多边形的过程为: 1°、从P1结点开始,起始链定为P1P2;从P2点算起,P1P2最右边的链为P2P5;从P5算起,P2P5最右边 的链为P5P1。所以,形成的多边形为P1P2P5P1。 2°、从P1结点开始,以P1P5为起始链,形成的多边形为P1P5P4P1。 3°、从P1开始,以P1P4为起始链形成的多边形为P1P4P3P2P1。 4°、这时P1为结点的所有链均被使用了两次,因而转向下一个结点P2,继续进行多边形追踪,直至所有的结点取完。共可追踪出五个多边形,即A1、A2、A3、A4、A5。 五、岛的判断 岛的判断即指找出多边形互相包含的情况,也即寻找多边形的连通边界。 图4-1-8 1°、计算所有多边形的面积。 2°、分别对面积为正的多边形和面积为负的多边形排序。 3°、从面积为正的多边形中,顺序取每个多边形,取完为止。若负面积多边形个数为0,则结束。 4°、找出该多边形所包含的所有面积为负的多边形,并把这些面积为负的多边形加入到包含它们的多边形中,转3°。 注意,由于一个面积为负的多边形只能被一个多边形包含,所以,当面积为负的多边形被包含后,应去掉该多边形,或作一标志。所以,当没有面积为负的多边形时,也应停止判断。 在该算法中,找出正面积多边形包含的负面积多边形是关键,其基本过程可描述为: 1°、找出所有比该正面积多边形面积小的负面积多边形。 2°、用外接矩形法去掉不可能包含的多边形。即负面积多边形的外接矩形不和该正面积多边形的外接矩形相交或被包含时,则不可能为该正面积多边形包含。 3°、取负面积多边形上的一点,看是否在正面积多边形内,若在内,则被包含;若在外,则不被包含。 在追踪出每个多边形的坐标后,经常需确定该多边形的属性。如果在原始矢量数据中,每个多边形有内点,则可以把内点与多边形匹配后,把内点的属性赋于多边形。由于内点的个数必然与多边形的个数一致,所以,还可用来检查拓扑的正确性。如果没有内点,则必须通过人机交互,对每个多边形赋属性。 |
|