p05第五章空间数据的处理.ppt_第1页
p05第五章空间数据的处理.ppt_第2页
p05第五章空间数据的处理.ppt_第3页
p05第五章空间数据的处理.ppt_第4页
p05第五章空间数据的处理.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第七章 空间数据的处理,空间数据处理是地理信息系统的基本功能之一,包括: 数据变换:指数据从一种数学状态到另一种数学状态的转换,包括几何校正和投影变换等,解决空间数据的几何配准问题; 数据重构:指数据格式转换,包括结构变换、格式变换和类型转换等,解决数据的统一问题,实现多元和异构数据的融合和连接; 数据结构的转换,包括同一数据结构不同组织形式间的转换和不同数据结构间的转换 数据提取:指根据给定的条件提取感兴趣的部分,包括类型提取、窗口提取和空间内插等,解决不同用户对数据的特殊需要问题。,第一节 矢量和栅格数据的相互转换,矢量和栅格相互转换的必要性; 矢量向栅格转换方式和栅格单元的尺寸设置; 栅格向矢量转换方式和要求: 点的矢量和栅格相互转换; 线的矢量和栅格相互转换; 面的矢量和栅格相互转换;,A、矢量和栅格数据的相互转换的必要性,必要性: 矢量数据和栅格数据各有优缺点,在功能完善的GIS软件中,两种格式的数据往往并存,但为了数据处理和分析的方便,需要在这两种格式的数据之间进行相互转换。 栅格向矢量转换: 将从扫描仪得到的基于图像的栅格数据转换为矢量格式,以减少从数字化仪数字化地图的艰巨劳动。 为了压缩数据,将大量的面状栅格数据转换为少量数据表示的多边形边界; 将栅格分析的结果,通过绘图仪输出; 矢量向栅格转换: 当数据采集采用矢量数据,为了进行矢量数据所不具备的地理分析(如空间分析和模拟等) ,便于研究地理现象的渐变规律性,需要将矢量数据转换为栅格数据;,B、矢量到栅格的转换方式,将以矢量表示的点、线、多边形直接转换为栅格格式; 将以矢量表示的样本点或等值线插值为栅格。,矢量到栅格的转换时栅格单元的大小问题,原图的精度(比例和最小图斑尺寸); 存储空间等因素决定; 变换后的用途: 如果变换后要和一幅卫星图象匹配,最好采用与卫星图象相同的分辨率; 如果作为地形分析用,地形起伏变化小时分辨率可以低些;而地形变化大时,则分辨率就应高些。,矢量化:即从栅格单元转换到几何图形的过程,包括: 表示类别或属性再生栅格的矢量化直接转换 基于栅格数据结构的扫描图像的矢量化处理,C、栅格到矢量转换方式,转换物体正确的外形,即保持几何结构的一致性; 保持栅格所表示的连通性与邻接性,即保持拓扑关系的正确性。,栅格到矢量转换的要求,一、点的转换,对于以矢量结构表示的点状实体而言,每个实体仅由一个坐标对表示其空间位置,而在栅格结构中的点实体的位置,则是由该单元格所处的行列位置所确定的。因此对于点实体的两种结构的转换基本上只是一个坐标精度变换的问题,在技术上并不难解决。,1、点由矢量到栅格的转换原理,点的变换很简单,只要这个点落在某一个栅格中,就属于那个格网单元,其行、列号由下式求出; 栅格点的值用点的属性表示。,ArcGIS命令,PointGrid value_item lookup_table weight_table,Value_item:PAT文件的一个项目,用于为GRID赋值,默认为内部点号。 lookup_table:查找表必须包含value_item和code 两个项目,且code 必须为数值型。 weight_table:权重用于一个网格单元会有几个可能点图元的情况,权重最大者赋予该单元;权重表必须有code 和weight两个数值型字段。如某一代码不在表中,则权重为0;权重为0的点不予处理;本表须按CODE字段升序排列。,多点和无点的情况,在没有权重表的情况下,如果一个栅格包含多于一个的点, 标明了 value_item 则value_item 值出现频率最高的点被引用; 如果不标明 value_item 同时有多个点存在则按点的出现顺序来赋值; 如果某个单元格无点存在,则该单元格赋值为 NODATA.,Examples,Arc: pointgrid wells gridwell Converting points from WELLS to grid GRIDWELL Cell Size (Square Cell): 40 Convert the Entire Coverage (Y/N)?: Y Background value (NODATA/ZERO)?: NODATA,2、点的栅格到矢量(ArcGIS命令),GRIDPOINT pat_item 将表示栅格点特征的格网转换为点图层。 点的坐标取单元格中心的坐标,并加上网格左下角的坐标进行换算。 - 输入的格网名; -输出的点图层名; pat_item 存储输入格网属性值的输出图层PAT文件的项目名;,Example,Arc: list bluegrid.bnd XMIN = 0.00000 YMIN = 0.00000 XMAX = 9.00000 YMAX = 9.00000 Arc: gridpoint bluegrid bluepointcov Grid: list bluepntcov.tic Record IDTIC XTIC YTIC 1 1 8.50000 0.50000 2 4 8.50000 8.50000 3 2 0.50000 0.50000 4 3 0.50000 8.50000,二、线图元的转换,线图元由矢量到栅格的转换; 线实体由栅格到矢量的转换扫描图形的矢量化,1、线图元从矢量到栅格的转换,线图元的矢量结构由一系列坐标对表示,在变为栅格结构时,除把序列中的坐标对(即拐点)变为栅格的行列坐标之外,还需根据栅格精度要求,在坐标点之间进行填充,以保证栅格表示的线的连通性;,线图元矢量到栅格的算法原理,对于线图元,曲线可以近似地看成多个直线段组成的折线,计算每条直线段经过哪些网格单元。 由线段两端点坐标(X1,Y1),(X2,Y2)求出端点所在行列号和该直线跨越的单元格的行号I; 根据中间网格的行号I计算出单元格水平中心线和直线相交的X坐标,再由X值求出这一点的列号J,依次求出直线经过的每个网格单元; 用直线的属性值填充这些网格单元,完成转换。,从线图层中产生栅格的ArcGis命令,LINEGRID value_item lookup_table weight_table :包含弧段的输入图层; :要产生的网格; value_item:线属性表AAT文件中的项,用于给单元格赋值; lookup_table:查找表 weight_table:权重表。当单元格中无弧段时,单元格取值为NODATA,当单元格只有一条弧段时,单元格的取值由value_item 或lookup_table中的Code项的取值决定。 当单元格包含多条弧段时,单元格的取值决定于最长弧段;或者由weight_table中权重最大的弧段决定。,Examples,Arc: LINEGRID ROADS RDGRID ROADS-TYPE Converting arcs from ROADS to grid RDGRID Cell Size (Square Cell): 40 Convert the Entire Coverage (Y/N)?: Y Background value (NODATA/ZERO)?: ZERO,2、线图元由栅格到矢量的转换扫描图形的矢量化,扫描矢量化过程:在扫描后处理中,需要进行矢量转栅格的运算。扫描矢量化可以自动进行,但是扫描地图中包含多种信息,系统难以自动识别分辨,这使得完全矢量化的结果不那么“可靠”;实际应用中常采用交互跟踪矢量化或半自动矢量化。,1)消除杂点,由于原始图像介质(比如地图)的质量问题、线不光滑或者扫描系统分辨率的限制,扫描后的图像存在许多斑点、线的多余小分支(毛刺噪声)、孔洞和凹陷噪声; 因此需要采取滤波或编辑方法消除不必要的杂点,否则就会造成细化误差和失真,最终影响地图跟踪和矢量化。,2)二值化,图像数据是不同灰度的,通过扫描仪按一定分辨率进行扫描,得到以不同灰度值(0255)表示的数据,为了将扫描图像矢量化,需要对这些数据二值化,即在最大和最小灰度值之间定义一个阈值,使灰度值小于这个阈值的单元格的取值变为0,否则变为1。因此,二值化的结果是得到黑白二值图象,通常将白色区域的栅格点赋值为0,而黑色区域为1,对应了要矢量化提取的地物,又称前景。,细化:由于扫描时所选的分辨率都较高,因此单个线条的横断面占有几个像素宽,矢量化时需要将这些线条进行细化操作。细化方法分为“剥皮法”和“骨架法”两类。,3)细化,A、剥皮法,是从曲线的边沿开始,每次剥掉等于一个栅格宽的一层,直到最后留下彼此相连的一个栅格点组成的图形。 由于每条线在不同位置的宽度可能不同,故不能剥去导致曲线不连通的栅格,也不能在图形中形成孔。 方法是用一个3*3栅格窗口,逐个检查每个栅格单元,被查栅格是否删去,由以该栅格为中心的组合图决定:,剥皮法图示,2、3、4、10、11、12、16、21、24、28、33、34、35、38、42、43、46、50,B、骨架法,即确定图形的骨架,而将非骨架上的多余栅格删除。 扫描全图,凡是像元值为1的栅格都用V值取代,V值是该栅格与北、东和北东三个相邻栅格像元值之和;在V值图上保留最大V值的栅格,删除其它栅格,但必须保证连通。V值只能分布在图形的中心线(骨架)上。,将细化后的栅格图像,整理为从节点出发的线段或闭合的线条,并以矢量形式存储栅格点中心的坐标; 从图幅西北角开始跟踪,按顺时针或逆时针方向,从起始点开始,根据8个邻域进行搜索,依次跟踪相邻点;并记录结点坐标,然后搜索闭曲线,直到完成矢量化; 矢量结构的数据点不需要像栅格那样充满路径,因此对于组成直线的多余的中间点可以删除。,4)跟踪,GRIDLINE 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的矢量化命令,Examples,Arc: gridline rdg300 roadcov data thin filter sharp road_code 3000 3000 10 Converting GRID rdg300 to Coverage roadcov Filtering Boundaries. Euclidean X/Y Mapping. Extracting Skeletons. Sequential Thinning. Marking Nodes. Assembling Grid Lines. Removing short dangling arcs. 256 unique nodes built for /TMP_MNT/MISC/GEOFUNC/ROADCOV generalize arcs. Generalized coverage /TMP_MNT/MISC/GEOFUNC/ROADCOV From: 1859 Vertices and 255 Arcs To : 768 Vertices and 255 Arcs,三、多边形的转换,矢量格式向栅格格式的转换 栅格格式向矢量格式的转换,1、多边形矢量数据转栅格数据,矢量格式向栅格格式转换又称为多边形填充,即在矢量表示的多边形内部的所有栅格上赋予相应的多边形属性值,从而形成栅格数据阵列。,内部点扩散算法,算法: 由每个多边形一个内部点(种子点)开始,向其八个方向的邻点扩散,判断新加入点是否在多边形的边界上,如果在边界上,则新加入的点不作为种子点,否则新加入的点作为新的种子点和原有种子点一起扩散,并将该种子点赋予多边形的编号。重复上述过程,直到所有种子点填满该多边形并遇到边界为止。 特点: 程序实现较为复杂;在栅格阵列中进行搜索,占用内存大; 一定栅格精度上,如果复杂图形的同一多边形的两条边界落在同一个或相邻的两个栅格单元内,会造成多边形不连通。,复数积分算法,算法:对栅格矩阵逐个判断单元格归属的多边形编码,判别方法是由待判点对每个多边形的封闭边界计算复数积分,对某个多边形,如果积分值等于2i,则该待判点属于该多边形。 特点:可靠性好,设计也并不复杂,但运算时间长,需要较高档次的微机。,射线算法,从待判点向图幅外某点引射线,计算其与多边形边界相交的次数,如果为奇数,则该待判点在多边形内部,否则在多边形外部。 特殊情况:即射线和多边形相切、重合等情况,会影响到交点次数的计算,必须在设计时考虑到并予以排除。为避免误判,可与铅锤线跌落法结合进行检验,只要一种方法交点为奇数,该点就在多边形内。 特点:运算量大,算法不完善,编程较复杂。,扫描算法,原理:射线算法的改进,将射线改为扫描线,在栅格阵列的行方向进行扫描,在每两次遇到多边形边界点的两个位置之间的栅格,属于多边形。 特点:计算量大大减少,效率较高,但通常要预留一个较大的数组存放边界点,相交的特殊情形仍然存在,需加以判别;,边界代数算法,单个多边形:建立初始栅格矩阵,其单元格取值全为0,欲填充多边形编号为a的区域,以栅格行列坐标为参考,沿多边形边界某点开始跟踪多边形边界。当边界线段上行时,位于边界左侧行序号相同的所有单元格的取值被减去a,当边界线段为下行时,位于边界右侧行序号相同的所有单元格的取值加a。边界扫描完毕后,该多边形即被填充为a。多边形外部则保持取值为0; 多个多边形:当边界弧段上行时,该弧段左侧的全部栅格像元赋值为(左多边形编号-右多边形编号);而当边界弧段下行时,该弧段左侧的栅格赋值为(右多边形编号-左多边形编号)。此外,搜索过程不必考虑各边界弧段的排列顺序。,ArcGIS命令格式,POLYGRID value_item lookup_table weight_table weight_table:权重表,表示不同多边形的重要程度,主要用于处理一个单元格中包含多个可能代码的情形;info 文件会为网格像元代码分配权重值。权重最大的代码将被赋予该像元。Code和weight两个字段,须定义为数值型; lookup-table:info文件往往定义网格单元代码 value-item和code字段。 从多边形格网产生整型网格。落入某个多边形中的单元格被赋值为多边形属性表特定项的值。未落入任何多边形的单元格被赋值为NODATA。对一个单元格落入多个多边形的情况,或者根据不同多边形在该单元格中所占面积的大小决定取值,或者用不同多边形的权重来决定取值。,2、多边形由栅格转换为矢量,即提取以相同编号的栅格集合表示的多边形区域边界和边界拓扑关系的过程。 转换须保证栅格数据中包含的空间实体之间的拓扑关系和固定的属性代码在转换过程中仍保持其原有关系和原代码。,栅格数据,栅格矢量化得到的弧段数据,弧段数据自动生成多边形,1)转换步骤,多边形边界提取:采用高通滤波将栅格图象二值化或以特殊值标识边界点;实际上是通过确定边界点和结点来实现的。 边界线跟

温馨提示

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

评论

0/150

提交评论