- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地理信息系统基础 主讲教师:王卫红 wangweihong@swust.edu.cn GIS基本功能的实现过程 第三章 空间数据结构 数据结构是指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构;对空间数据而言则是地理实体的空间排列方式和相互关系的抽象描述,是对数据的一种理解和解释。不说明数据结构的数据是毫无用处的,不仅用户无法理解,计算机程序也不能正确处理。 第一节 栅格数据结构 第二节 矢量数据结构 第三节 两种数据结构的比较和转换 第四节 其他数据结构 第一节 栅格数据结构 栅格数据:栅格数据结构,又称为网格结构或像元结构。实际就是像元阵列,每个像元由行列确定它的位置。由于栅格结构是按一定的规则排列的,所表示的实体位置很容易隐含在数据文件的存储结构中,且行列坐标可以很容易地转为其它坐标系下的坐标。每个像元包含一个代码,代码本身明确地代表了实体的属性类型或量值,或仅仅包含指向其属性记录的指针。 获得栅格结构数据的途径 目读法:在地图上均匀划分网格,逐个网格地确定其代码; 矢量数字化法:用数字化仪得到矢量数据结构后,再转换成栅格结构; 扫描数字化:逐点扫描地图,将扫描数据进行重采样和再编码; 分类影像输入:将经过分类解译的遥感影像数据直接或重采样后输入系统。 栅格数据结构特点 离散的量化栅格值表示空间对象。 位置隐含,属性明显。 数据结构简单,易于扩充、修改,特别易于与遥感数据结合,但数据量大。 适合于高级语言作文件或矩阵处理。 存在几何和属性误差。 栅格数据的几何误差 在下图中,ac的距离应为5,但在栅格结构中,如以像元边线计算则为7,以像元为单位则为4。 三角形abc的面积应为6个平方单位,而在栅格结构中则为7个平方单位,这种误差随像元的增大而增加。 栅格数据的属性误差 在一个栅格的地表范围内,可能存在具有不同属性的地理实体,如可能存在多于一种的地物,而表示在相应的栅格结构中常常只能是一个代码,因此出现属性误差。 栅格数据单元属性值确定 栅格数据压缩存储的编码方法(1)——链式编码(Chain Codes) 又称为弗里曼链码(Freeman)或边界链码。该方法将线状地物和面状地物的边界表示为:由某一起点开始并按某些基本方向确定的单位矢量链。 链式编码的前两位数字表示起点的行、列数,从第三个数字开始表示单位矢量的方向。 如果右图中面状地物的起点为像元(10,1),则其边界按顺时针方向的链式编码为:10,1,7,0,1,0,7,1,7,0,0,2,3,2,2,1,0,7,0,0,0,0,2,4,3,4,4,3,4,4,5,4,5,4,5,4,5,4,6,6。 栅格数据压缩存储的编码方法(2)——游程长度编码(Run—Length Codes) 对左图进行的游程长度编码是(9,4), (0,4), (9,3), (0,5), (0,1), (9,2), (0,1), (7,2), (0,2), (0,4), (7,2), (0,2), (0,4), (7,4), (0,4), (7,4), (0,4), (7,4), (0,4), (7,4)。 游程长度编码只在各行(或列)数据的代码发生变化时依次记录该代码以及相同代码重复的个数。 栅格数据压缩存储的编码方法(3)——块式编码(Block Codes) 栅格数据压缩存储的编码方法(4)——四叉树编码(Quadtree Encoding) 四叉树编码又称为四分树、四元树编码,是一种更有效地压编数据的方法。它将 × 像元阵列连续进行4等分,如果某正方形的所有格网值相同,则该正方形就不再继续分割,否则还要把它再分割成四个正方形,如下图。也可采用从下而上的方法建立,对栅格数据按如下的顺序进行检测:如果每相邻四个格网值相同则进行合并,逐次向上递归合并,直到符合四叉树的原则为止。后者与前者相比,运算速度较快。 Morton码与行列号(i,j)间存在有函数关系, 如果找到这种函数关系,则可使二维地址码变为一维,可进行简单的排序、快速扫描。可将网格代码值直接赋给以Morton码为下标的数组单元。解码时,由Morton码找出对应的行列号,将代码填回网格。完成代码的存储和回放。 二维行程编码 在生成的线性四叉树表中,仍存在前后叶结点的值相同的情况,因而可以采取进一步的压缩表达,即将格网值相同的前后结点合并成一个值,形成二维行程编码(Two Dimen- sional Run Encoding,简称 2DRE)表。在这种二维行程编码中,前后两个地址码之差表达了该行程段的格网数,它可以表示该子块的大小。 栅格数据的各种压缩编码方式的比较 第二节 矢量数据结构 矢量数据
文档评论(0)