版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、张鹏飞安徽大学资源与环境工程学院,计算机地图制图,第四章 地图数据结构与地图数据库,4.1 图形对象的特征 4.2 图形数据结构 4.3 地图数据结构与数据组织 4.4 地图数据库 4.5 地图分层,4.1 图形对象的特征 4.2 图形数据结构 4.3 地图数据结构与数据组织 4.4 地图数据库 4.5 地图分层,第四章 地图数据结构与地图数据库,4.1 图形对象的特征,计算机图形学中最基本的概念是图形对象,它是图形系统处理的中心目标。 在面向对象图形系统中,对象包括图形对象和实体对象两种,和实体对象相比,图形对象最大的特征是具有可显示性,由此产生了形状、色彩、环境影
2、响、投影方式等特殊的属性。,(1)图形对象具有形状和色彩等视觉特征 形状特征是图形外形或边缘的形状、大小和位置等,通过几何参数标识;色彩特征是图形的颜色、灰度及其分布情况,通过图形颜色属性标识。 分类:几何图形对象和点阵图形对象 几何图形以线条为主,色彩简单、画面单调,进行图形变换后不会影响图形质量;点阵图形以色彩为主,色彩丰富、画面复杂,具有较强的真实感和艺术感,但点阵图形数据量大、特征不易提取。,图形对象的特殊性质:,(2)图形对象具有两个级别,4.1 图形对象的特征,图形对象在物理设备上的具体表现定义为一级图形对象;在图形文件中存放的图形对象定义为二级图形对象。 一级图形对象是系统的初始
3、原形和最终结果,二级图形对象是系统的中间环节,两者之间要经常互换。,line( ),point( ),数据文件,(2)图形对象具有两个级别,图形对象的特殊性质:,一级图形对象是具体可视的图形,用图、形表示;二级图形对象是图形的本体或抽象,通过对象名字标识,用数据和方法表示。,(3)图形对象具有可分层表示性,(4)图形质量受到图形系统分辨率的约束,(5)图形系统具有自己的图形坐标系,(6)图形对象调用总是伴随着图形变换操作,(7)图形对象具有多种信息的编码方式、压缩方式和数据文件组织方式,像素分辨率和色彩分辨率,4.1 图形对象的特征,图形坐标系也是一个几何物体,按表达的主体内容分层、按色彩编码
4、通道分层,坐标转换、投影变换、视口/窗口变换等,4.1 图形对象的特征 4.2 图形数据结构 4.3 地图数据结构与数据组织 4.4 地图数据库 4.5 地图分层,第四章 地图数据结构与地图数据库,4.2 图形数据结构,图形数据结构: 图形数据在计算机内的组织和编码形式。 它是一种适合于计算机存储、管理和处理图形数据的逻辑结构,是图形对象的空间排列和相互关系的抽象描述,它是对数据的一种理解和解释。,常用图形数据结构 1树形结构 把基本图形作为树叶复合图形元素作为节点,整个图形对应于树的根。这种数据结构称为树形结构。如图(a)所示。,基本图形元素有直线、圆、弧,并可以用线、圆、弧来组成子图。例如
5、用直线组成子图A1,A2,用直线和圆组成子图A3。再用子图A1与A3组成子图A4,最后由A2与A4组成整个图形A5。因此,图形A5的数据结构见左图。,2表结构 用有若干指针和数据的表来记录图形元素的数据结构称为表(记录)结构。各指针指向它所包含的各个成分和它的变换数据块和分析数据块。 例如线模型的表结构,即是用线来表示物体的轮廓图形。数据结构如下表所示。,4.2.1 基本图元及其特征 4.2.2 空间对象及其定义 4.2.3 图形对象的图形信息 4.2.4 图形对象的属性信息,4.2 图形数据结构,4.2.1 基本图元及其特征,基本图元:图形系统中的基本图形元素。基本图元只含有一个图形实例,使
6、用数据和方法标识图形对象。 二维图形系统中将基本图形元素称为图素或图元,三维图形系统中称为体素。,可以用一定的几何参数描述的最基本的图形输出元素,包括点、线、圆、圆弧、椭圆、二次曲线等。,三维空间中可以用有限个参数定位和定性的最基本单元体。,体素是三维空间中可以用有限个尺寸参数定位和定形的体,常有三种定义形式: (1)从实际形体中选择出来,可用一些确定的尺寸参数控制其最终位置和形状的一组单元实体 (2)由参数定义的一条(或一组)轮廓线沿一条(或一组)空间参数曲线作扫描运动而产生的形体。 (3)用代数半空间定义的形体: (x,y,z)|f(x,y,z) 0,基本图元具有:惟一性、简练性和完整性。
7、 基本图元集的信息模型决定了图形数据的组织方式及图形对象数据库的数据模型。 图形核心系统GKS(Graphical Kernel System)规定的8种图元(点、多点标记、线、折线、正文、区域填充、点阵图形、广义图元)。 地图制图系统一般有点、线、面、文字注记四类基本图元 。,4.2.1 基本图元及其特征,4.2 图形数据结构,4.2.1 基本图元及其特征 4.2.2 空间对象及其定义 4.2.3 图形对象的图形信息 4.2.4 图形对象的属性信息,4.2.2 空间对象及其定义,空间对象可分为简单空间对象、复合空间对象和复杂空间对象。,只包含一个图形实例且不能再分割的图形对象。,包含多个图形
8、实例,每个图形实例按一定的复合规则结合到图形对象中。,由一个或多个其他简单空间对象或复合空间对象组成的图形对象。,按空间图形的物理特征分类,图形可分 为基本图形和复合图形。,4.2.2 空间对象及其定义,OGC(OPEN GIS CONSORTIUM)组织推出了空间对象定义的标准,并提出了相应的空间对象模型。,(1)Geometry (2)Geometry Collection (3)Point (4)MultiPoint (5)Curve (6)LineString/Line/LinearRing (7)MultiCurve (8)MultiLineString (9)Surface (10
9、)Polygon (11)MultiSurface (12)MultiPloygon,1.Geometry 是几何对象层次模型的根类,抽象类(不可实例化),几何对象说明:,Dimension ( ):IntegerThe inherent dimension of this Geometry object, which must be less than or equal to the coordinate dimension. This specification is restricted to geometries in two-dimensional coordinate space.
10、 GeometryType ( ):String Returns the name of the instantiable subtype of Geometry of which this Geometry instance is a member. The name of the instantiable subtype of Geometry is returned as a string. SRID ( ):IntegerReturns the Spatial Reference System ID for this Geometry. Envelope( ):GeometryThe
11、minimum bounding box for this Geometry, returned as a Geometry. The polygon is defined by the corner points of the bounding box (MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY). AsText( ):String Exports this Geometry to a specific well-known text representation of Geometry.,Metho
12、ds:,AsBinary( ):BinaryExports this Geometry to a specific well-known binary representation of Geometry. IsEmpty( ):Integer Returns 1 (TRUE) if this Geometry is the empty geometry . If true, then this Geometry represents the empty point set, , for the coordinate space. IsSimple( ):Integer Returns 1 (
13、TRUE) if this Geometry has no anomalous geometric points, such as self intersection or self tangency. The description of each instantiable geometric class will include the specific conditions that cause an instance of that class to be classified as not simple. Boundary( ):Geometry Returns the closur
14、e of the combinatorial boundary of this Geometry.,Methods:,2.Geometry Collection 一个或多个Geometry对象的集合 NumGeometries( ):IntegerReturns the number of geometries in this GeometryCollection. GeometryN(N:integer):GeometryReturns the Nth geometry in this GeometryCollection.,Methods:,3.Point 0维几何对象,表示空间中的一个单
15、个的位置信息 由X,Y坐标组成 边界是空集 X( ):Double The x-coordinate value for this Point. Y( ):Double The y-coordinate value for this Point.,Methods:,4.MultiPoint 0维几何对象的集合 其元素必须为Point 边界是空集 如果没有任何的两个点等同,则MultiPoint是简单的,Methods:,NumPoints( ):IntegerThe number of points in MultiPoint. PointN(N:Integer):PointReturns t
16、he specified point N in this MultiPoint.,5.Curve 1维几何对象 点的集合,点之间有相连或有序关系 如果没有经过同一点两次,则Curve是简单的 如果起点和终点等同,则Curve是闭合的 如果Curve是简单并且闭合的,则它是一个环(Ring) 一个没有闭合的LineString的边界是它的两个端点,Length( ):DoubleThe length of this Curve in its associated spatial reference. StartPoint( ):PointThe start point of this Curve
17、. EndPoint( ):PointThe end point of this Curve. IsClosed( ):IntegerReturns 1 (TRUE) if this Curve is closed (StartPoint ( ) = EndPoint ( ). IsRing( ):IntegerReturns 1 (TRUE) if this Curve is closed (StartPoint ( ) = EndPoint ( ) and this Curve is simple (does not pass through the same point more tha
18、n once).,Methods:,6.LineString,Line,LinearRing LineString是Curve的子类,在两个端点之间采用了线性插值(即每一对连续的点都是直线) Line是只有两个点的LineString LinearRing是一个闭合的,简单的LineSting,NumPoints( ):IntegerThe number of points in this LineString. PointN(N:Integer):PointReturns the specified point N in this Linestring.,Methods:,7.MultiCu
19、rve 1维几何对象的集合,其元素都是Curve 是不可实例化的类 如果其所有元素都是简单的,并且任何两个元素的交集仅在两个元素的边界上,则MultiCurve是简单的。 边界由元素的边界的序号为奇数的点组成 如果所有元素都是闭合的, 则MultiCurve也是闭合的,边界为空集。,IsClosed( ):IntegerReturns 1 (TRUE) if this MultiCurve is closed (StartPoint ( ) = EndPoint ( ) for each curve in this MultiCurve) Length( ):DoubleThe Length
20、of this MultiCurve which is equal to the sum of the lengths of the element Curves.,Methods:,8.MultiLineString 所有的元素都是LineString,9.Surface 2维几何对象 简单Surface:由Patch组成,一个外圈,0或多个内圈 简单Surface的边界由相关它的外圈和内圈的闭合Curve组成。,Area( ):DoubleThe area of this Surface, as measured in the spatial reference system of thi
21、s Surface. Centroid( ):PointThe mathematical centroid for this Surface as a Point. The result is not guaranteed tobe on this Surface. PointOnSurface( ):PointA point guaranteed to be on this Surface.,Methods:,10.Polygon 平面的Surface 有一个外圈和0或多个内圈 Polygon是拓扑闭合的 Polygon的边界是由一组形成外边界和内边界的LinearRing组成 在Polyg
22、on的边界中,任意的两个LinearRing都不是相互穿越的 Ploygon不能由切线、峰值和穿孔 每个Ploygon的内部是连续的点集 有一个和多个“岛”的Ploygon的外部是不连通的,每个岛定义一个Polygon的外部的连通分量 Polygon是一个规则的、闭合的点集,是简单的几何对象,ExteriorRing( ):LineStringReturns the exterior ring of this Polygon. NumInteriorRing( ):IntegerReturns the number of interior rings in this Polygon. Inte
23、riorRingN(N:Integer):LineStringReturns the Nth interior ring for this Polygon as a LineString.,Methods:,11.MultiSurface 2维几何对象的几何,其元素都是Surface 任意两个Surface内部都不可以相交 任何两个元素的边界可以相交与有限的点 不可实例化,其可实例化的子类是MultiPolygon,Area( ):DoubleThe area of this MultiSurface, as measured in the spatial reference system o
24、f this MultiSurface. Centroid( ):PointThe mathematical centroid for this MultiSurface. The result is not guaranteed to be on this MultiSurface. PointOnSurface( ):PointA Point guaranteed to be on this MultiSurface.,Methods:,12.MultiPloygon 2维对象的集合,所有元素都是Ploygon 任何两个元素的内部是不能相交的 任何两个Polygon的边界不能相互穿越但可以
25、相交于有限的点 是拓扑闭合的 不可以由cutlines(切线),spikes(峰值)和punctures(穿孔),是规则的、闭合的点集 有多于一个的Ploygon的MultiPolygon的内部不连通, MultiPolygon内部的连通分量的编号等于MultiPolygon中Polygon元素的编号,4.2 图形数据结构,4.2.1 基本图元及其特征 4.2.2 空间对象及其定义 4.2.3 图形对象的图形信息 4.2.4 图形对象的属性信息,4.2.3 图形对象的图形信息,对象及构成它的点、线、面的位置及其相互间关系和几何尺寸等。,图形对象的线型、颜色、亮度以及供分析和模拟用的质量、比重和
26、体积等数据。,图形 对象,图形 信息,非图形 信息,4.2.3 图形对象的图形信息,形体在欧氏空间中的位置和大小。,形体各分量的数目及其相互间的连接关系。,图形对象的 图形信息,几何信息,拓扑信息,4.2.3.1 地图图形的几何信息,几何分量的数学表示 点:(x,y,z) 线:x-x0=(y-y0)/a=(z-z0)b 面:ax+by+cz+d=0,计算机地图制图中,各地图图形元素在二维平面上的矢量数据表示为点、线、面。 点用一对(x,y)坐标表示; 线用一串有序的(x,y)坐标表示; 面用一串有序的但首尾坐标相同的(x,y)坐标对表示其轮廓范围; 规则曲线表示为函数形式或参数方程(如圆锥曲线
27、)通过一系列折线段来逼近; 自由曲线由若干数据样点通过曲线插值或拟合得到(如贝塞尔曲线、样条曲线)。,几何分量之间的相互关系,4.2.3.2 地图图形的拓扑信息,拓扑关系是指图形在保持连续状态下变形,但图形关系不变的性质。,4.2.3.2 地图图形的拓扑信息,地图数据可抽象为点(结点)、线(链、弧段、边)、面(多边形)三种拓扑元素。 点(结点)包括:孤立点、线的端点、面的首尾点、链的连接点等; 线(链、弧段、边):是两结点间的有序弧段; 面(多边形):若干条链构成的闭合多边形。,4.2.3.2 地图图形的拓扑信息,拓扑关系: 拓扑邻接:指存在于空间图形的同类图形实体之间的拓扑关系。借助不同类型
28、的拓扑元素进行描述。 拓扑关联:指存在于空间实体中的不同类图形实体之间的拓扑关系。 弧段在结点间的连接关系 拓扑包含:指在不同级别或不同层次的多边形图形实体之间的拓扑关系。 其他拓扑关系:相交、相离、重叠、连通性、有向性、定义性等。 图形拓扑关系下图。,平面立体的几何分量之间一共有九种拓扑关系,连通网络可一笔画的充要条件是它们是连通的,且奇顶点(通过此点弧的条数是奇数),哥尼斯堡七桥问题,4.2.3.2 地图图形的拓扑信息,空间数据的拓扑关系,对于GIS数据处理和空间分析具有重要的意义。 拓扑关系是空间数据区别于其他数据的一个重要标志,这些关系的空间逻辑意义更重于其几何意义。 充足的定位信息能
29、推导出拓扑关系,但拓扑信息无量度和精确的定位性能,不能由拓扑信息给出确切位置信息。,4.2 图形数据结构,4.2.1 基本图元及其特征 4.2.2 空间对象及其定义 4.2.3 图形对象的图形信息 4.2.4 图形对象的属性信息,4.2.4 图形对象的属性信息,图形属性是描述图形外貌和细节的因素集合。,一般,地图图形数据连同几何属性一并组织存储,统称为图形数据(几何数据)。 与事物的地理位置无关,反映事物其它特征的信息,称为属性数据(描述数据)。 通常,图形数据与专题属性数据要分别组织存储。,名称 等级 限速 路宽 承重 ,名称 水深 水质 宽度 ,OBJECTID SHAPE SHAPE-L
30、ENGTH SHAPE-AREA ,线样式面样式颜色等,各属性值通常看做彼此无关的独立量。,图形数据(几何数据),几何属性,第四章 地图数据结构与地图数据库,4.1 图形对象的特征 4.2 图形数据结构 4.3 地图数据结构与数据组织 4.4 地图数据库 4.5 地图分层,4.3 地图数据结构与数据组织,数据结构:即数据组织的形式,是适合于计算机存储、管理、处理的数据逻辑结构。 地图数据:是以点、线、面等方式采用编码技术对地图要素进行特征描述及在要素间建立相互联系的数据集。 数据结构是有效地描述地图信息,灵活地进行地图数据操作和处理的基础。 地图数据结构分为两大类:矢量结构与栅格结构。数字地图
31、制图采用的是矢量数据格式,4.3.1 栅格数据结构,栅格数据结构是以规则的像元阵列来表示地图要素及其分布的数据结构,其阵列中的每个数据表示地物属性特征,栅格数据结构非常适合于表达遥感影象数据和DEM,栅格数据组织,栅格数据结构特点,离散的量化栅格值表示空间对象 位置隐含,属性明显 数据结构简单,易与遥感数据结合,但数据量大 几何和属性偏差 面向位置的数据结构,难以建立空间对象之间的关系,几何偏差,属性偏差,栅格数据的编码方法,直接栅格编码 游程压缩编码 链式数据编码 四叉树编码 分块压缩编码 八叉树编码,直接栅格编码以行为记录单位按行存储地理数据。缺点:存在大量冗余,精度提高有限制。,2. 游
32、程压缩栅格编码(Run-Length Encoding)将原始栅格矩阵中属性值相同的连续若干个单元映射为一个游程,每个游程的数据结构为(A,P),A表示属性值或属性值的指针,P代表该游程最右端的列号或个数。,原始栅格数据,(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),游程长度编码(RunLengthCodes),游程长度编码是按行帧序存储多边形内的各个像元的列号,即在某行上从左至右存储属该多边形的始末像
33、元的列号。 问:对左图的进行游程长度编码 。,B,A,3. 链式数据编码(Chain Encoding,弗里曼Freeman)链式编码主要是记录线状地物和面状地物的边界。它把线状地物和面状地物的边界表示为:由某一起始点开始并按某些基本方向确定的单位矢量链。基本方向可定义为:东0,东南l,南2,西南3,西4,西北5,北6,东北7等八个基本方向。,链式编码的方向代码,链式编码(ChainCodes),右图多边形编码为: 10,l,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。,4、四叉树编码,
34、是根据栅格数据二维空间分布的特点,将空间区域按照4个象限进行递归分割(2n2 n,且n1),直到子象限的数值单调为止,最后得到一棵四分叉的倒向树。四叉树分解,各子象限大小不完全一样,但都是同代码栅格单元组成的子块,其中最上面的一个结点叫做根结点,它对应于整个图形。不能再分的结点称为叶子结点,可能落在不同的层上,该结点代表子象限单一的代码,所有叶子结点所代表的方形区域覆盖了整个图形。从上到下,从左到右为叶子结点编号,最下面的一排数字表示各子区的代码。 为了保证四叉树分解能不断的进行下去,要求图形必须为2n2 n的栅格阵列。n 为极限分割次数,n1是四叉树最大层数或最大高度。,四叉树编码(Quad
35、tree Encoding),四叉树编码又称为四分树、四元树编码。它是一种更有效地压编数据的方法。它将2n2n像元阵列连续进行4等分,一直分到正方形的大小正好与象元的大小相等为止(如下图),而块状结构则用四叉树描述,习惯上称为四叉树编码。,四叉树编码法有许多有趣的优点: 1)容易而有效地计算多边形的数量特征; 2)阵列各部分的分辨率是可变的,边界复杂部分四叉树较高即分级多,分辨率也高,而不需表示许多细节的部分则分级少,分辨率低,因而既可精确表示图形结构又可减少存贮量; 3)栅格到四叉树及四叉树到简单栅格结构的转换比其它压缩方法容易; 4)多边形中嵌套异类小多边形的表示较方便。,5、八叉树编码,
36、八叉树结构就是将空间区域不断地分解为八个同样大小的子区域(即将一个六面的立方体再分解为八个相同大小的小立方体),同区域的属性相同。八叉树主要用来解决地理信息系统中的三维问题。,采用方形区域作为记录单元,数据编码由初始位置行列号加上半径,再加上记录单元的代码组成。,(1,1,1,0),(1,2,2,2),(1,4,1,5),(1,5,1,5),(1,6,2,5),(1,8,1,5);(2,1,1,2),(2,4,1,2),(2,5,1,2),(2,8,1,5);(3,3,1,2),(3,4,1,2),(3,5,2,3),(3,7,2,5);(4,1,2,0),(4,3,1,2),(4,4,1,3
37、);(5,3,1,3),(5,4,2,3),(5,6,1,3),(5,7,1,5),(5,8,1,3);(6,1,3,0),(6,6,3,3);(7,4,1,0),(7,5,1,3);(8,4,1,0),(8,5,1,0)。,6.块式编码(BlockCodes),6.块式编码(BlockCodes),块式编码是将游程长度编码扩大到二维的情况,把多边形范围划分成由像元组成的正方形,然后对各个正方形进行编码。如图:,块式编码的数据结构由初始位置(行号,列号)和半径,再加上记录单元的代码组成。根据这一编码原则,上述多边形只需22个单位正方形。6个4单位的正方形和2个9单位的正方形就能完整表示,总共要
38、63个数据,其中30对坐标,3个块的半径。,栅格数据压缩存储的编码方法,起点行列号,单位矢量 R: (1,5),3,2,2,3,3,2,3,链式编码,游程长度编码,逐行编码 数据结构: 行号, 属性, 重复次数 A, 4, R, 1, A, 6,.,块状编码,正方形区域为记录单元 数据结构: 初始位置, 半径, 属性 (1,1,3,A),(1,5,1,R),(1,6,2,A),四叉树编码,4.3.2 矢量数据结构,通过记录坐标的方式尽可能精确地表达点、线、面分布的地物要素 仅要记录地图要素的空间位置,有时还要记录要素间的空间关系以及与属性数据的联系; 几种常用的地图矢量数据结构: 无拓扑关系的
39、矢量结构Spaghetti模型 无拓扑关系的矢量结构点位字典法 有拓扑关系的矢量结构链状双独立式,无拓扑关系的矢量结构Spaghetti模型,优点:编码容易,数字化操作简单,数据编码直观,显示速度快。 缺点:相邻公共边界数字化2次,数据冗余,出现重叠或裂缝;缺少拓扑关系,空间分析困难。,无拓扑关系的矢量结构点位字典法 (点位字典+边界号),1)点位字典:点号,(X,Y); 2)点对象:唯一标志码,要素编码,点号。 3)线对象:唯一标志码,要素编码,点号1,点号2点号n; 4)面对象:唯一标志码,要素编码,点号1,点号2点号n,点号1,优点:消除了多边形边界可能出现的裂缝与重叠,并且不再重复存储
40、坐标数据。 缺点:仍然没有建立各多边形对象间的拓扑关系。,有拓扑关系的矢量结构,点(结点)孤立点、线的端点、面的首尾点、链的连接点等; 线(链、弧段、边)两结点间的有序弧段; 面(多边形)若干条链构成的闭合多边形 有拓扑关系的矢量模型主要表示关联和邻接两种基本的空间关系 。,结点弧段多边形的矢量拓扑数据结构,矢量数据、栅格数据的比较,矢量格式和栅格格式的相互转换,矢量格式向栅格格式的转换 内部点扩散法 复数积分算法 射线算法 扫描算法 边界代数算法 栅格格式向矢量格式的转换 多边形边界提取 边界线追踪 拓扑关系生成 去除多余点及曲线圆滑,栅格数据结构向矢量数据结构的转换,多边形边界提取 二值化
41、 细化,2)细化:将占有多个栅格宽的图形要素缩减为只有1个像素。,剥皮法 每次剥掉一层,最后只留下彼此连通的由单个栅格组成的图形。,原则:保持图形的连通性,不能在图形中形成孔。,3) 矢量化: 找出线段经过的所有栅格; 将栅格的(i,j)坐标变成直角坐标( x,y); 剔除中间点; 保存;,边界线追踪:边界线跟踪的目的就是将写入数据文件的细化处理后的栅格数据,整理为从结点出发的线段或闭合的线条,并以矢量形式存储特征栅格点中心的坐标 拓扑关系生成:对于矢量表示的边界弧段,判断其与原图上各多边形空间关系,形成完整的拓扑结构,并建立与属性数据的联系。 去除多余点及曲线圆滑:由于搜索是逐个栅格进行的,
42、必须去除由此造成的多余点记录,以减少冗余。,第四章 地图数据结构与地图数据库,4.1 图形对象的特征 4.2 图形数据结构 4.3 地图数据结构与数据组织 4.4 地图数据库 4.5 地图分层,学习内容,4.4 地图数据库,图形数据库与空间数据库管理系统,计算机地图制图系统与地理信息系统,D B M S,地图数据,矢量图形,图形关系,专题属性,其他,难点?关键?,能否表达?,与图形一致?,多媒体、影象等,关系,网状,对象?,分布式、大型GIS项目,数字城市、 Webgis、数据挖掘等,层次,当前地图数据库的实现途径: 地图数据的对象化+关系化存储+空间数据引擎,地图数据库的两层含义: 软件系统
43、空间数据库管理系统 ArcSDE+Geodatabase、SuperMap SDX 图形文件(地图信息的载体):以数字的形式把一幅地图的诸要素及它们之间的相互联系有机的组织起来,并存储在计算机中的一批相互关联的数据文件。 ESRI的Coverage、Shape,AutoCAD的DWG,4.4 地图数据库,随着图形文件结构日趋复杂,图形对象的组织越来越严密,图形文件也被称为“图形数据库”,地图图形数据的特征,1)空间特征,要求数据库具有空间索引机制。 2)非结构化特征,这种变长记录和不定结构的要求,导致一般关系数据库不能存储。 3)空间关系特征,导致空间数据的一致性和完整性难以保证。 4)分类编
44、码特征,分类编码将空间数据和属性数据关联起来。 5)多尺度特征,要求地图数据库具备有效的多尺度空间数据组织与管理功能。 6)海量特征,导致数据库存储的数据量比一般事务性数据库大得多。 需要分层、分块管理。,地图数据管理的几种方式:,(1)程序管理 (2)文件管理 文件管理是把数据的存取抽象为一种模型,使用时只要给出文件名称、格式和存取方式等,其余的一切组织与存取过程由专用软件和操作系统来完成。 文件管理系统的特点: 存贮在计算机上,可以反复利用; 数据文件是面向用户的。 数据文件与对应的程序具有一定的独立性; 依赖特定程序; 数据文件之间不能建立关系,无结构的信息集合。 冗余度大,不易扩允、维
45、护和修改。 不便于集中管理与共享;,地图数据管理的几种方式:,DATA BASE,数据基地,集中管理数据的基地。 是存贮在计算机内的有结构的数据集合; DBMS是由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。 1)建立在复杂的数据结构设计基础上,将相互关联的数据集文件赋于某种固有的内在联系。各个相关文件可以通过公共数据项联系起来。 2)数据库中的数据完全独立; 3)数据共享成为现实; 4)能够维护数据的完整性、有效性和相容性,保证其最小的冗余度,有利于数据的快速查询和维护。,(3)数据库管理,从文件管理到数据库管理,4.4.3 地图数据库的数据模型,数据模型是数据库系统中
46、关于数据内容和数据之间联系的逻辑组织的形式表示,是数据库设计好坏的核心问题。,常见的几种数据模型: 层次模型 网络模型 关系模型 对象-关系数据库模型,地图示例,以地图M为例: 地图M中有两个面实体、 多边形由a,b,e组成 多边形由b,c,d组成 a边的两个端点是1,2 b边的两个端点是2,4 c边的两个端点是2,3 d边的两个端点是3,4 e边的两个端点是1,4,地图数据库的层次模型,层次数据库模型是将数据组织成一对多(或双亲与子女)关系的结构。 其特点为:(1)有且仅有一个结点无双亲,这个结点即树的根;(2)其它结点有且仅有一个双亲。 层次模型的优点是层次和关系清楚,检索路线明确。层次模
47、型的缺点就是不能表示多对多的联系,对象查询困难,数据更新复杂。 在GIS中若采用这种层次模型将难以顾及公共点、线数据共享和实体元素间的拓朴关系,数据冗余度增加,而且给拓朴查询带来困难。,地图数据库的层次模型,地图数据库的网状模型示例,地图数据库的网络模型,在网络模型中,各记录类型间可具有任意多连接的联系。一个子结点可有多个父结点;可有一个以上的结点无父结点;父结点与某个子结点记录之间可以有多种联系(一对多、多对一、多对多)。 网络模型的优点:可以描述实体间复杂的关系。网络模型的缺点:表示数据间联系的指针数据项会大大增加数据量;会增加数据库建立和维护的复杂性。,地图数据库的关系模型示例,地图数据
48、库的关系模型,关系模型的基本思想是用二维表形式表示实体及其联系。 二维表中的每一列对应实体的一个属性,其中给出相应的属性值; 每一行形成一个由多种属性组成的多元组,或称元组(记录),与一特定实体相对应。 元组(记录)由一个或多个属性(数据项)标识,一个关系表的关键字称为主关键字,各关键字中的属性称为元属性。 关系模型可由多张二维表形式组成,每张二维表的表头称为关系框架,故关系模型即是若干关系框架组成的集合。 实体间联系和各二维表间联系采用关系描述或通过关系运算建立。,关系模型的优点: 1)结构灵活,可满足所有用布尔逻辑运算和数字运算规则形成的询问要求; 2)能搜索、组合和比较不同类型的数据;
49、3)加入和删除数据方便; 4)适宜地理属性数据的模型。 关系模型的缺点: 1)许多操作都要求在文件中顺序查找满足特定关系的数据,若数据库很大的话,这一查找过程要花很多时间。 2)地图图形数据变长结构在关系数据库中的存储困难,可以采用范式分解或变长记录来存储。,关系数据库的几种设计范式介绍,1 第一范式(1NF)在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。在第一范式(1NF)中表的每一
50、行只包含一个实例的信息。例如,对于员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。,2 第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟
51、一属性列被称为主关键字或主键、主码。,第二范式(2NF)要求实体的属性完全依赖于主关键字。 所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。,假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) (姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二
52、范式,因为存在如下决定关系: (课程名称) (学分) (学号) (姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。,由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余: 同一门课程由n个学生选修,学分就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。 (2) 更新异常: 若调整了某门课程的学分,数据表中所有行的学分值都要更新,否则会出现同一门课程学分不同的情况。 (3) 插入异常: 假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有学号关键字,课程名称和学分也无法记录入数据库。 (4) 删除异常: 假设一批学生已经完成课程的选修,这些选修
53、记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。,把选课关系表SelectCourse改为如下三个表: 学生:Student(学号, 姓名, 年龄); 课程:Course(课程名称, 学分); 选课关系:SelectCourse(学号, 课程名称, 成绩)。 这样的数据库表是符合第二范式的, 消除了数据冗余、更新异常、插入异常和删除异常。 另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。,3 第三范式(3NF) 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。,不存在:关键字段 非关键字段x 非关键字段y,假定学生关系表为 Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字学号,因为存在如下决定关系: (学号) (姓名, 年龄, 所在学院, 学院地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据采集与处理人才培养方案
- 农产品加工企业原料供应商管理办法
- 住宅精装修工程监理实施细则
- 设备机房综合降噪施工技术方案
- 社区垃圾分类设施优化配置方案
- 流域总氮治理调查技术指南
- 企业供应链协同平台建设方案
- 模具入厂检验规范
- 儿童职业体验嘉年华活动策划案
- 水源地面源污染控制建设设计方案
- 医疗药品使用管理制度题库(3篇)
- 公路水运工程试验检测计价办法(四川省)
- 绵阳中学2026届高一化学第一学期期中质量跟踪监视模拟试题含解析
- 灯箱维修施工方案
- 读后续写题型讲解课件-高中英语人教版第一册
- 铁路防断培训课件
- 2025年gsp药品批发企业质量风险管理试题及答案
- 药物制剂技术专业教学标准(高等职业教育专科)2025修订
- 泡沫厂生产管理制度
- 《经济法基础》 (第2章) 第一章 总论
- 《海康威视使用说明》课件
评论
0/150
提交评论