p06第六章 空间数据的处理_第1页
p06第六章 空间数据的处理_第2页
p06第六章 空间数据的处理_第3页
p06第六章 空间数据的处理_第4页
p06第六章 空间数据的处理_第5页
已阅读5页,还剩74页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章空间数据的处理空间数据处理是地理信息系统的基本功能之一,包括:数据变换:指数据从一种数学状态到另一种数学状态的转换,包括几何校正、投影变换和辐射校正等,解决空间数据的几何配准问题;数据重构:指数据格式转换,包括结构变换、格式变换和类型转换等,解决数据的统一问题,实现多元和异构数据的融合和连接;数据结构的转换,包括同一数据结构不同组织形式间的转换和不同数据结构间的转换数据提取:指根据给定的条件提取感兴趣的部分,包括类型提取、窗口提取和空间内插等,解决不同用户对数据的特殊需要问题。几何校正辐射校正理想成像系统产生的图象的亮度值应与地物的辐射率成线性关系,但实际传感器记录的灰度值、亮度值(DN值)地物的辐射率并不成线性关系,特别是反应曲线两端部分最为明显。位于整个亮度范围两端部分的地物信息被压缩了。利用反应曲线的逆函数从原来DN值得到校正后辐射值。第一节矢量和栅格数据的相互转换矢量和栅格相互转换的必要性;矢量向栅格转换方式和栅格单元的尺寸设置;栅格向矢量转换方式和要求:点的矢量和栅格相互转换;线的矢量和栅格相互转换;面的矢量和栅格相互转换;A、矢量和栅格数据的相互转换的必要性必要性: 矢量数据和栅格数据各有优缺点,在功能完善的GIS软件中,两种格式的数据往往并存,但为了数据处理和分析的方便,需要在这两种格式的数据之间进行相互转换。栅格向矢量转换:将栅格分析的结果,通过绘图仪输出;为了压缩数据,将大量的面状栅格数据转换为少量数据表示的多边形边界;将从扫描仪得到的基于图像的栅格数据转换为矢量格式,以减少从数字化仪数字化地图的艰巨劳动。矢量向栅格转换: 当数据采集采用矢量数据,为了进行矢量数据所不具备的地理分析(如空间分析和模拟等),便于研究地理现象的渐变规律性,需要将矢量数据转换为栅格数据;B、矢量到栅格的转换方式将以矢量表示的点、线、多边形直接转换为栅格格式;基于弧段数据的栅格化方法;基于多边形数据的栅格化方法将以矢量表示的样本点或等值线插值为栅格。矢量到栅格的转换时栅格单元的大小问题原图的精度(比例和最小图斑尺寸);存储空间等因素决定;变换后的用途:如果变换后要和一幅卫星图象匹配,最好采用与卫星图象相同的分辨率;如果作为地形分析用,地形起伏变化小时分辨率可以低些,栅格单元就可大些;而地形变化大时,则分辨率就应高些,栅格单元就要小些。矢量化:即从栅格单元转换到几何图形的过程,包括:表示类别或属性再生栅格的矢量化直接转换基于栅格数据结构的扫描图像的矢量化处理C、栅格到矢量转换方式转换物体正确的外形,即保持几何结构的一致性;拓扑转换,即保持栅格所表示的连通性与邻接性。栅格到矢量转换的要求一、点的转换对于以矢量结构表示的点状实体而言,每个实体仅由一个坐标对表示其空间位置,而在栅格结构中的点实体的位置,则是由该单元格所处的行列位置所确定的。因此对于点实体的两种结构的转换基本上只是一个坐标精度变换的问题,在技术上并不难解决。1、点由矢量到栅格的转换原理点的变换很简单,只要这个点落在某一个栅格中,就属于那个格网单元,其行、列号由下式求出;栅格点的值用点的属性表示。ArcGIS命令PointGrid<in_cover><out_grid>{value_item}{lookup_table}{weight_table}

{Value_item}:PAT文件的一个项目,用于为GRID赋值,默认为内部点号。{lookup_table}:查找表必须包含{value_item}和code两个项目,且code必须为数值型,查找表要按code字段进行升序排列。{weight_table}:权重用于一个网格单元会有几个可能代码值的情形,权重最大者赋予该单元;权重表必须有code和weight两个数值型字段。如某一代码不在表中,则权重为0;权重为0的点不予处理;本表须按CODE字段升序排列。多点和无点的情况在没有权重表的情况下,如果一个栅格包含多于一个的点,并且标明了{value_item}则{value_item}

值出现频率最高的点被引用;如果不标明{value_item}同时有多个点存在则按点的出现顺序来赋值;如果某个单元格无点存在,则该单元格赋值为NODATA.ExamplesArc:pointgridwellsgridwell

ConvertingpointsfromWELLStogridGRIDWELLCellSize(SquareCell):40ConverttheEntireCoverage(Y/N)?:YBackgroundvalue(NODATA/ZERO)?:NODATA2、点的栅格到矢量(ArcGIS命令)GRIDPOINT<in_grid><out_cover>{pat_item}将表示栅格点特征的格网转换为点图层。点的坐标取单元格的中心,并加上网格左下角的坐标进行换算。<in_grid>-输入的格网名;<out_cover>-输出的点图层名;{pat_item}–存储输入格网属性值的输出图层PAT文件的项目名;ExampleArc:listbluegrid.bndXMIN=0.00000YMIN=0.00000XMAX=9.00000YMAX=9.00000Arc:gridpoint

bluegrid

bluepointcovGrid:listbluepntcov.ticRecordIDTICXTICYTIC118.500000.50000248.500008.50000320.500000.50000430.500008.50000二、线图元的转换线图元由矢量到栅格的转换;线实体由栅格到矢量的转换——扫描图形的矢量化1、线图元从矢量到栅格的转换线图元的矢量结构由一系列坐标对表示,在变为栅格结构时,除把序列中的坐标对(即拐点)变为栅格的行列坐标之外,还需根据栅格精度要求,在坐标点之间进行插值,以保证栅格表示的线的连通性;线图元矢量到栅格的算法原理对于线图元,曲线可以近似地看成多个直线段组成的折线,计算每条直线段经过哪些网格单元。由线段两端点坐标(X1,Y1),(X2,Y2)求出端点所在行列号和该直线跨越的单元格的行号;根据中间网格的行号计算出单元格水平中心线和直线相交的X坐标,再由X值求出这一点的列号J,依次求出直线经过的每个网格单元;用直线的属性值填充这些网格单元,完成转换。从线图层中产生栅格的ArcGis命令LINEGRID<in_cover><out_grid>{value_item}{lookup_table}{weight_table}<in_cover>:包含弧段的输入图层;<out_grid>:要产生的网格;{value_item}:线属性表AAT文件中的项,用于给单元格赋值;{lookup_table}:查找表{weight_table}:权重表。当单元格中无弧段时,单元格取值为NODATA,当单元格只有一条弧段时,单元格的取值由{value_item}或{lookup_table}中的Code项的取值决定。当单元格包含多条弧段时,单元格的取值决定于最长弧段;或者由weight_table中权重最大的弧段决定。ExamplesArc:LINEGRIDROADSRDGRIDROADS-TYPEConvertingarcsfromROADStogridRDGRIDCellSize(SquareCell):40ConverttheEntireCoverage(Y/N)?:YBackgroundvalue(NODATA/ZERO)?:ZERO2、线图元由栅格到矢量的转换——扫描图形的矢量化扫描矢量化过程:在扫描后处理中,需要进行矢量转栅格的运算。扫描矢量化可以自动进行,但是扫描地图中包含多种信息,系统难以自动识别分辨,这使得完全矢量化的结果不那么“可靠”;实际应用中常采用交互跟踪矢量化或半自动矢量化。1)消除杂点由于原始图像介质(比如地图)的质量问题、线不光滑或者扫描系统分辨率的限制,扫描后的图像存在许多斑点、线的多余小分支(毛刺噪声)、孔洞和凹陷噪声;因此需要采取滤波或编辑方法消除不必要的杂点,否则就会造成细化误差和失真,最终影响地图跟踪和矢量化。2)二值化图像数据是不同灰度的,通过扫描仪按一定分辨率进行扫描,得到以不同灰度值(0—255)表示的数据,为了将扫描图像矢量化,需要对这些数据二值化,即在最大和最小灰度值之间定义一个阈值,使灰度值小于这个阈值的单元格的取值变为0,否则变为1。因此,二值化的结果是得到黑白二值图象,通常将白色区域的栅格点赋值为0,而黑色区域为1,对应了要矢量化提取的地物,又称前景。细化:由于扫描时所选的分辨率都较高,因此单个线条的横断面占有几个像素宽,矢量化时需要将这些线条进行细化操作。细化方法分为“剥皮法”和“骨架法”两类。3)细化A、剥皮法是从曲线的边沿开始,每次剥掉等于一个栅格宽的一层,直到最后留下彼此相连的一个栅格点组成的图形。由于每条线在不同位置的宽度可能不同,故不能剥去导致曲线不连通的栅格,也不能在图形中形成孔。方法是用一个3*3栅格窗口,逐个检查每个栅格单元,被查栅格是否删去,由以该栅格为中心的组合图决定:B、骨架法即确定图形的骨架,而将非骨架上的多余栅格删除。扫描全图,凡是像元值为1的栅格都用V值取代,V值是该栅格与北、东和北东三个相邻栅格像元值之和;在V值图上保留最大V值的栅格,删除其它栅格,但必须保证连通。V值只能分布在图形的中心线(骨架)上。将细化后的栅格图像,整理为从节点出发的线段或闭合的线条,并以矢量形式存储栅格点中心的坐标;从图幅西北角开始跟踪,按顺时针或逆时针方向,从起始点开始,根据8个邻域进行搜索,依次跟踪相邻点;并记录结点坐标,然后搜索闭曲线,直到完成矢量化;矢量结构的数据点不需要像栅格那样充满路径,因此对于组成直线的多余的中间点可以删除。4)、跟踪GRIDLINE<in_grid><out_cover>{POSITIVE|DATA}{THIN|NOTHIN}{NOFILTER|FILTER}{ROUND|SHARP}{item}{thickness}{dangle}{weed}{positive|data}:指定标识前景像元的像元值。栅格图层被视为一组前景像元和背景像元的集合。前景像元组成了要转换为矢量的线性特征。Positive:值大于0的像元为前景像元,而小于或等于0或者NODATA属于背景像元。Data:所有具有有效值的像元属于前景像元,NODATA为背景像元。{Thin|Nothin}:矢量化之前前景像元是否要进行细化。{nofilter|filter}:细化第一阶段是否要滤波处理,使前景像元与背景像元的边界更加平滑{round|sharp}:转折处或交接处为圆滑的还是突变的。{item}:输出图层AAT文件中包含网格像元属性的项目名{thickness}:网格中线性特征的最大厚度ArcGis的矢量化命令ExamplesArc:gridlinerdg300roadcovdatathinfiltersharp~road_code3000300010ConvertingGRIDrdg300toCoverageroadcovFilteringBoundaries...EuclideanX/YMapping...ExtractingSkeletons...SequentialThinning...MarkingNodes...AssemblingGridLines...Removingshortdanglingarcs...256uniquenodesbuiltfor/TMP_MNT/MISC/GEOFUNC/ROADCOVgeneralizearcs...Generalizedcoverage/TMP_MNT/MISC/GEOFUNC/ROADCOVFrom:1859Verticesand255ArcsTo:768Verticesand255Arcs三、多边形的转换矢量格式向栅格格式的转换栅格格式向矢量格式的转换1、多边形矢量数据转栅格数据矢量格式向栅格格式转换又称为多边形填充,即在矢量表示的多边形内部的所有栅格上赋予相应的多边形属性值,从而形成栅格数据阵列。内部扩散算法算法:由每个多边形一个内部点(种子点)开始,向其八个方向的邻点扩散,判断新加入点是否在多边形的边界上,如果在边界上,则新加入的点不作为种子点,否则新加入的点作为新的种子点和原有种子点一起扩散,并将该种子点赋予多边形的编号。重复上述过程,直到所有种子点填满该多边形并遇到边界为止。特点:程序实现较为复杂;在栅格阵列中进行搜索,占用内存大;一定栅格精度上,如果复杂图形的同一多边形的两条边界落在同一个或相邻的两个栅格单元内,会造成多边形不连通。②复数积分算法算法:对栅格矩阵逐个判断单元格归属的多边形编码,判别方法是由待判点对每个多边形的封闭边界计算复数积分,对某个多边形,如果积分值等于2πi,则该待判点属于该多边形。特点:可靠性好,设计也并不复杂,但运算时间长,需要较高档次的微机。③射线算法从待判点向图幅外某点引射线,计算其与多边形边界相交的次数,如果为奇数,则该待判点在多边形内部,否则在多边形外部。特殊情况:即射线和多边形相切、重合等情况,会影响到交点次数的计算,必须在设计时考虑到并予以排除。为避免误判,可与铅锤线跌落法结合进行检验,只要一种方法交点为奇数,该点就在多边形内。特点:运算量大,算法不完善,编程较复杂。④扫描算法原理:射线算法的改进,将射线改为扫描线,在栅格阵列的行方向进行扫描,在每两次遇到多边形边界点的两个位置之间的栅格,属于多边形。特点:计算量大大减少,效率较高,但通常要预留一个较大的数组存放边界点,相交的特殊情形仍然存在,需加以判别;⑤边界代数算法单个多边形:建立初始栅格矩阵,其单元格取值全为0,欲填充多边形编号为a的区域,以栅格行列坐标为参考,沿多边形边界某点开始跟踪多边形边界。当边界线段上行时,位于边界左侧行序号相同的所有单元格的取值被减去a,当边界线段为下行时,位于边界右侧行序号相同的所有单元格的取值加a。边界扫描完毕后,该多边形即被填充为a。多边形外部则保持取值为0;多个多边形:当边界弧段上行时,该弧段左侧的全部栅格像元赋值为(左多边形编号-右多边形编号);而当边界弧段下行时,该弧段左侧的栅格赋值为(右多边形编号-左多边形编号)。此外,搜索过程不必考虑各边界弧段的排列顺序。ArcGIS命令格式POLYGRID<in_cover><out_grid>{value_item}{lookup_table}{weight_table}{weight_table}:权重表,表示不同多边形的重要程度,主要用于处理一个单元格中包含多个可能代码的情形;info

文件会为网格像元代码分配权重值。权重最大的代码将被赋予该像元。Code和weight两个字段,须定义为数值型;{lookup-table}:info文件往往定义网格单元代码

value-item和code字段。从多边形格网产生整型网格。落入某个多边形中的单元格被赋值为多边形属性表特定项的值。未落入任何多边形的单元格被赋值为NODATA。对一个单元格落入多个多边形的情况,或者根据不同多边形在该单元格中所占面积的大小决定取值,或者用不同多边形的权重来决定取值。2、多边形由栅格转换为矢量即提取以相同编号的栅格集合表示的多边形区域边界和边界拓扑关系的过程。转换须保证栅格数据中包含的空间实体之间的拓扑关系和固定的属性代码在转换过程中仍保持其原有关系和原代码。栅格数据栅格矢量化得到的弧段数据弧段数据自动生成多边形1)转换步骤多边形边界提取:采用高通滤波将栅格图象二值化或以特殊值标识边界点;实际上是通过确定边界点和结点来实现的。

边界线跟踪:根据已经提取的边界点和结点,对每个边界弧段由一个结点向另一个结点搜索,通常对每个已知边界点需沿除了进入方向的其它7个方向搜索下一个边界点,直到连成边界弧段。拓扑关系生成:对于矢量表示的边界弧段数据,判断其与原图上各多边形空间关系,形成完整拓扑并建立与属性联系。去除多余点及曲线圆滑:为减少数据冗余,将因逐点搜索边界点造成的多余点去掉,并采用一定的插补算法对由于栅格精度限制造成的边界曲线不圆滑进行处理。A、边界点和结点提取2*2栅格窗口沿行或列方向全图扫描:若窗口内4个栅格有且仅有2个不同编号,则标识为边界点;若窗口内有3个以上不同编号,则为结点,保持各栅格原多边形编号信息;对角线上栅格两两相同,造成多边形不连通,作结点处理。B、边界线搜索与左右多边形信息记录首先记录开始边界点的两个多边形编号,作为弧段的左右多边形,下一点组的搜索方向则由进入当前点的搜索方向和该点组的可能走向决定。C、多余点去除边界弧段上连续的一些点,如果一定程度上满足直线方程,可仅保留两个端点,减少数据冗余ArcGIS命令GRIDPOLY<in_grid><out_cover>{weed_tolerance}将grid转换为多边形图层,即从具有相同取值的邻接单元格组来构造多边形。<in_grid>:thegridtobeconverted.<out_cover>:thecoveragetobecreated.{weed_tolerance}:拐点容差用于光滑弧段。默认值为0。对于NODATA单元格,其多边形属性值定为-9999.因此应确保输入GRID没有非-9999的单元,除非应该作为NODATA处理。ExamplesArc:gridpolygrid1cover1第二节空间数据的压缩和综合空间数据压缩的意义矢量数据的压缩栅格数据压缩编码空间数据综合一、空间数据压缩的意义将数据组织为数据库,是建立地理信息系统的重要环节。利用现代的数据采集系统来量化空间要素,其分辨率目前可达5微米的数量级,对如此庞大的坐标数据量,不采用数据压缩技术,整个系统在存储空间和处理时间上都将承受巨大的压力,而导致系统失败。此外,空间数据比例尺的变化也同样存在数据压缩的需要。数据压缩:从所取得的数据集合S中抽出一个子集A,作为一个新的信息源,在规定精度范围内最好地逼近原集合,而又能取得尽可能大的压缩比。压缩比与曲线的复杂程度、缩小倍数、精度要求、数字化取点密度等因素有关,有与压缩技术有关。二、曲线上点的压缩方法道格拉斯-普克法(Douglas-Peucker);Li-openshaw的自然综合法则法;垂距法。

三、栅格数据的压缩编码在同一区域内,相邻像元的属性代码值往往是相同的,为了减少数据存储量,有必要采用压缩的编码方式,将相邻等值的像元合并。这样,可使数据的存储量大大减少,并且有利于数据的存取。常用的数据压缩方法有:链式编码(ChainCodes)游程长度编码(Run-lengthCodes)块式编码(BlockCodes)四叉树编码(QuadtreeEncoding)1、链式编码(ChainCodes)链式编码又称弗里曼(Freeman)编码或边界编码。它将线状地物或区域边界表示为:由某一起始点和在某些基本方向上的单位矢量链组成。单位矢量的长度默认为一个栅格像元,每个后续点可能位于其前继点的8个基本方向之一。所采用的基本方向可以事先定义。如定义为:东=0,东南=1,南=2,西南=3,西=4,西北=5,北=6,东北=7八个基本方向。链式编码的前两个数字表示基本点的行列数,其余数字表示方向。编码过程:起始点的寻找一般是遵从从上到下、从左到右的原则;当发现没有记录过的点,而且数值也不为0时,就是一条线或边界线的起点。记下其特征码及行列数,然后顺时针方向寻迹。优点:多边形的表示具有很强的数据压缩能力,且具有一定的运算能力,如面积和周长的计算等;对探索边界急弯和凹进都比较容易,比较适合存储图形数据。缺点是叠置运算,如组合、相交等比较困难,对局部修改将改变整体结构,而且链码以每个区域为单位存储边界,相邻区域的边界则被重复存储而产生数据冗余。2、游程长度编码(Run-lengthCodes)编码方案:栅格数据直接编码是形成一个数字矩阵,某一行的值为x1,x2,x3,x4…xn。把属性值相同而且连续的若干个单元格编为一个游程,每个游程的数据结构为(A,P),A表示属性值,P表示该游程最右端单元格所在的列号。这样可将x1,x2,x3,x4…xn编为k个游程。使得原来一行n个数据压缩为k个整数(k<=n)。对原始栅格数据采用差分预处理后,再采用游程编码,压缩效率会更高。适用情况:游程编码在许多单元格同属一个属性值得情况下,大大改善了数据的存储情况,压缩效率较高,且宜于进行检索、叠加、合并等操作,运算简单,适用于机器存储量小,需大量压缩,又要避免复杂的编码解码运算增加处理和操作时间的情况。3、块式编码(BlockCodes)块式编码:是将游程编码扩展到二维的情况,把多边形范围划分为由单元格组成的正方形进行编码。块式编码的数据结构:初始位置(行号、列号)和半径,再加上记录单元的代码特点:具有可变的分辨率,一个多边形包含的正方形越大,边界越简单,块式编码的效果越好。游程和块是编码都对大而简单的多边形更有效,而对碎部较多的复杂多边形效果较差。块式编码在合并、插入、检查延伸性、计算面积等方面具有明显的优越性。4、四叉树编码(QuadtreeEncoding)是一种更有效的数据压缩方法。它将2n×2n阵列的区域,逐步划分为单一类型的方形区域,最小的方形区域可能为一个栅格像元。区域划分的原则:将区域划分为大小相同的象限,而每一个象限又根据一定规则判断是否等分为次一级的四个象限。终止判断的依据:不管哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的几种地物时,则不在继续划分,否则一直分到单个单元格为止。这种编码方法,对于2n×2n阵列的区域,其最大分割次数为n,最大层数为n+1。基本概念:根结点、中间结点和终止结点(叶子结点)四叉树编码方法记录终止结点(或叶子结点)的地址和值,值就是子区的代码。地址包括两个部分,共32位(二进制)最右面的4位,表示结点的深度,即处于四叉树的第几层上,根据深度可以推知子区的大小;地址的其他部分表示从根结点到该叶子结点的路径,0(00)、1(01)、2(10)、3(11)分别表示SW、SE、NW和NE四个象限;从右边第5位开始2n字节记录这些方向。某一结点表示为二进制为:0000…000(22位);001110(6位);0011(4位)点四叉树和线四叉树:不同的划分终止条件和记录方法四叉树编码优点容易而有效地计算多边形的数量特征;可变分辩率,边界复杂部分四叉树较高即分级多,分辩率也高,而不需表示许多细节的部分则分级少,分辩率低,因而既可精确表示图形结构又可减少存贮量;栅格到四叉树的转换及四叉树到简单栅格结构的转换比其它压缩方法容易;多边形中嵌套异类小多边形的表示较方便。空间数据的综合是针对存贮在GIS数据库中的数据因属性数据的重新分类而进行的操作;空间数据的综合内容包括相同属性的删除和相同属性公共边界线的删除等。四、空间数据的综合第三节多源空间数据的融合遥感与GIS数据的融合遥感图像与数字地图数据的融合;遥感图像与DE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论