2020年1月21日5时16分1第二章数据结构和数据管理同济大学城市规划系钮心毅22020年1月21日5时16分GIS的数据(空间信息)空间数据(图):表示要素的空间位置、几何特征属性数据(文):表示要素的非几何特性,包括文字属性、表格、其他非几何数据(声音、动画、影像等等)32020年1月21日5时16分数据结构、数据管理设计数据结构——如何在计算机中表达空间信息,让计算机识别设计数据管理——如何组织,整合数据——计算机的文件结构(Computerfilestructure):数据存储、排序、查询——数据库结构(DatabaseStructure):文件的组合,较复杂的数据处理方法——图形数据结构(Graphicdatastructure):表达图形数据——GIS系统的数据结构、管理:管理多层数据、管理数据库42020年1月21日5时16分一、属性数据的储存和管理52020年1月21日5时16分文件系统、数据库管理系统1.单个文件的存储、检索、组织简单文件(Simplefiles):未按规则组织,按输入先后顺序存放,检索使用不易顺序排列文件(Orderedsequentialfiles):顺序排列、检索方便。必须按顺序输入索引文件(Indexfiles):购物指南,字典索引。62020年1月21日5时16分文件系统和数据库管理系统2.多个文件:存储、检索、组织第一种方式(没有数据库情况下)的特点用户必须知道文件的内部结构改进处理,往往要改进文件结构某个文件结构的变化,引起众多程序的修改随着数据越来越多,与其针对每一个应用开发不同的程序,还不如提取其中的共性,集中起来开发一套通用的管理工具。于是产生了数据库。处理1处理2处理3输出1输出2输出3文件1文件2文件3文件4......72020年1月21日5时16分文件系统和数据库管理系统第二种方式(有数据库)特点数据与应用相对独立用户数据共享(数据可以和DBMS相脱离)中央化的控制使用方便软件复杂、效率低用户可以直接使用文件ArcGIS可以使用这种方式处理1处理2处理3输出1输出2输出3数据库管理文件1文件2文件3文件4......82020年1月21日5时16分文件系统和数据库管理系统第三种方式的特点数据保密性好软件更复杂数据库管理软件要求高大型专业数据库,Oracle,Sybase,SQLServer等用户不能直接使用文件ArcGIS可以使用第三种方式进行管理、维护(ArcCatalog)处理1处理2处理3输出1输出2输出3数据库管理92020年1月21日5时16分文件系统和数据库管理系统数据库(Database):就是多个文件的集合。数据库结构=数据库管理系统(DBMS,DatabaseManageSystem):适用于管理多个文件的数据结构属性数据的存储和管理就是以数据库形式进行三种基本的数据结构:层次型数据库、网络型数据库、关系型数据库。关系型数据库是目前使用最多的是数据库类型(RDBMS,RelationalDatabaseManageSystem)卡片柜:数据库卡片盒:表卡片:纪录,行栏目:字段102020年1月21日5时16分基于关系模型的数据库——关系型数据库目前的GIS中一般都是采用关系型数据库存储、管理属性数据以表为基础:行(Record,记录)列(Field,属性、数据项、字段、关键字段)字段类型:(数值型、字符型、日期型、逻辑型…)CODELANDUSEFARDENSITYGREENHEIGHTA3-1G120.000.000.000.00A3-2C250.8025.0030.0015.00A3-3C250.8025.0030.0015.00A3-4C410.000.000.0012.00A3-5C250.8025.0030.0015.00112020年1月21日5时16分关系型数据库中如何查询、检索?关系运算投影(列):选择出指定的列的操作选择(行):选择满足某种条件的行连接(表与表):满足同一条件的两个表中的对应行,组合成一个表查询的结果仍然是表122020年1月21日5时16分地块编号地块面积用地性质规划容积率…………查询一:用地性质是商业的土地有哪些?地块编号、规划容积率怎样?选择:用地性质=“商业”投影:地块编号、规划容积率132020年1月21日5时16分查询二:2003年正在建设的项目分布在哪些地块,土地使用如何?选择:(开工时间>0and开工时间<2004)and(竣工时间>2003or竣工时间=“0”)连接:项目表的所在地块=地块表的地块编号。投影:地块编号、用地性质地块编号地块面积用地性质规划容积率…………项目编号所在地块占地面积建筑面积项目名称开工日期竣工时间…………………142020年1月21日5时16分地块编号地块面积用地性质规划容积率…………项目编号所在地块占地面积建筑面积项目名称开工日期竣工时间…………………查询三:XX地块已批项目的容积率如何?选择:所在地块=“XX”连接:项目表的所在地块=地块表的地块编号投影:建筑面积、占地面积、规划容积率计算:项目建筑面积之和/项目占地面积之和152020年1月21日5时16分地块编号地块面积用地性质规划容积率…………开发商名称申请项目编号……项目编号所在地块占地面积建筑面积项目名称开工日期竣工时间…………………查询四:XXX发展商要开发的土地其规划用地性质是什么?选择:开发商名称=“XXX”连接:申报表的申请项目编号=项目表的项目编号连接:项目表的所在地块=地块表的地块编号投影:用地性质162020年1月21日5时16分Join(合并连接)和Relation(关联连接)连接关系不一样。relation:“一对一”、“多对一”、“一对多”的查询关系Join:“一对一”、“多对一”的查询关系,不能实现“一对多”的查询。表达形式不一样。Relation:实现二表连接后,外观仍然是二个独立的表。Join:实现二表连接后,被连接的表(from)合并到结果表中(to)。172020年1月21日5时16分数据间的逻辑联系ABABABAB“一对一”“一对多”“多对一”ABAB182020年1月21日5时16分关系型数据库的维护行:删除、添加、改属性值列:更名、删除、增加、改类型、改宽度表:增加、删除、更名关系型数据库的优缺点容易理解、直观易懂、查询灵活维护方便查询效率相对较慢(连接查询处理工作量大,要靠索引数据)DBMS在GIS中的应用从1970年代开始,1981年ESRI发布的ARC/INFO,是第一个将DBMS与GIS结合在一起的系统。192020年1月21日5时16分二、空间数据模型202020年1月21日5时16分如何在GIS中表达空间数据?如何在GIS中表达空间数据?需要解决的3个方面问题:对象的空间位置对象的几何特性与其他对象之间的相对关系2维的空间要素都可以归纳为三种基本对象:点:point0维线:line,arc2维面(多边形):polygon2维212020年1月21日5时16分空间对象:点•有位置,无宽度和长度;•抽象的点美国加利福尼亚州地震监测站2002年9月该洲可能的500个地震位置222020年1月21日5时16分空间对象:线•有长度,但无宽度和高度•用来描述线状实体香港城市道路网分布232020年1月21日5时16分空间对象:面•具有长和宽的目标•通常用来表示自然或人工的封闭多边形•一般分为连续面和不连续面中国土地利用分布图(不连续面)242020年1月21日5时16分空间事物类型典型对象典型属性图形图象表达形式1)点学校、环保监测站规模、有关监测指标点状符号2)线道路、电缆、水系交通量、电压、水质线型3)面(多边形)地块、行政区土地使用、人口填充符号、边界线252020年1月21日5时16分栅格空间数据模型262020年1月21日5时16分272020年1月21日5时16分282020年1月21日5时16分点线面292020年1月21日5时16分栅格数据模型(rastermodel)坐标系与描述参数行西南角格网坐标(XWS,YWS)格网分辨率格网方向列302020年1月21日5时16分111111111111111111111111111113333333333333333333333322222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222111111111111112222222444444443333333333333ValueCount1234147138312020年1月21日5时16分322020年1月21日5时16分332020年1月21日5时16分栅格数据模型用单元填满空间,每一个单元是一个小的正方形,称为grid。用同一种方法,实现了点、线、面三种对象的表达。笛卡尔坐标系早期的GIS大多数采用栅格数据模型行西南角格网坐标(XWS,YWS)格网分辨率格网方向列342020年1月21日5时16分栅格数据模型中,如何将属性数据赋予空间数据?方法一:每一个网格单元都赋予一个数值。(简单,但无法有多重属性)需要表达多重属性就必须建立多个栅格图层土地产权地形土地使用建筑物ZYX352020年1月21日5时16分362020年1月21日5时16分栅格数据模型中,如何将属性数据赋予空间数据?方法二:网格单元与DBMS相连接,一个网格单元就可以有多重属性。多重属性的局限111111111111112222222444444443333333333333ValueCount1234147138372020年1月21日5时16分382020年1月21日5时16分多种压缩存储量的数据结构分辨率的提高和数据量之间呈平方指数关系分辨率与精度的问题。如果精度越大、分辨率大,数据量就越大。为了减少数据量,产生了多种压缩存储量的数据结构栅格数据的压缩目的:减少数据量。通过某种编码的方法,达到减少数据长度的目的。多种压缩编码栅格数据结构392020年1月21日5时16分栅格数据结构:压缩编码方案AAAAARAAARAAARAARAAAAAAAAAGGAAGGGGGGGAGGGAGGAAAAAARAAAARAAARRAAA143258761234567801234567起点行列号,单位矢量R:(1,5),3,2,2,3,3,2,3链式编码游程长度编码逐行编码数据结构:行号,属性,重复次数1,A,4,R,1,A,4块状编码正方形区域为记录单元数据结构:初始位置,半径,属性(1,1,3,A),(1,5,1,R),(1,6,2,A),…NESWNWSEGGGGAGGAAGAAA四分树编码402020年1月21日5时16分栅格数据压缩编码——游程编码游程编码(run-lengthcodes)逐行操作记录每一行中每一个数值的开始位置和长度AAAAAAAAAA纪录为A100(值、长度、行号)AAAAABBBBAA51B41A11BBBBBBBBBAB92A12压缩的效果与地图的复杂效果有关对于地图变化越大,效果就越不明显412020年1月21日5时16分栅格数据压缩编码-—四分树编码四分树编码(Quadtreecodes)可变分辨率的方法。通过变化分辨率来达到压缩的目的。栅格连续四分,直到每一个4分后的块都是同一数值为止。采用不同的分辨率存储4分后的每一个块。易于查询、适应于存储数据量大的地图NESWNWSEGGGGAGGAAGAAA422020年1月21日5时16分栅格数据压缩编码-—四分树编码999900009909000090097700000077000000777700007777000077770000777