更新时间:2022-08-25 14:34
地图数据结构( map data structure)指构成地图内容诸要素的数据集之间相互关系和数据记录的编排组织方式。
各种地图要素转换成计算机的可读形式称为地图数据。
每个要素的数据集合称为一个数据集。
指构成地图内容诸要素的数据集之间相互关系和数据记录的编排组织方式。
地图数据包括地图要素空间分布的位置数据及其对应的图形特征与地理属性数据两部分,前者又概括为弧段节点模型。弧段是地图上基本图形(点、线、面)的核心部分,成为计算机存储的基本单元,点可看成是只有一个坐标对的弧段,面是由一个或多个弧段构成的多边形。只有一个弧段的多边形称为岛状多边形。弧段由一串坐标对包括2个端点组成,坐标串次序决定了弧段走向,端点称为节点,有起始节点和终止节点之分,每个节点连结2个或2个以上的弧段。上述基本图形数据间的互相影射称为拓扑逻辑关系,是当前地图数据库中普遍采用的一种数据结构。对应的图形特征与地理属性数据,由不同的数据项组成,如描述某段河流的属性数据包括名称、代码、宽度、长度、等级、通航程度等;描述某个居民地的属性数据有名称、代码、行政归属、等级、面积、人口、交通意义、政治文化意义等。属性数据既附属于对应目标的空间分布位置,又成为检索图形的依据或参数,它们之间没有必然的联系途径,可将它们分别组成若干个二维表,采用通用的关系数据库的管理方式。故地图数据结构是混合型的,地图数据库系统应能实现两种数据结构的混合管理功能。
可以按照用户要求存储和提取地图数据的技术和场所。数据库必须有一套对数据进行管理的软件,以便能将数据按照一定要求存入数据库,还能对库中的数据进行检索(提取)、修改和增删。因此可以说地图数据库是在一定的数据管理系统管理下,按照一定的数据组织方法组织起来的地图数据的集合。
地图数据库中的数据就是制作地图需要的数字化信息,它的特点是数据的空间性质,即既有描述制图对象属性的数据,又有记录对象地理位置的数据。制图对象的类型、数量和状态等都是可以用数据来描述的。例如1221,1——水体,2——河流,2——二级河流,1——不通航。制图对象的地理位置可以用直角坐标值X、Y表示。地图数据的组织有两个方面:一是数据的逻辑结构,将各种数据均按照特定的结构进行组织,这样既能准确反映事物及其相互间的关系,又能使用户感到方便; 二是数据的存储结构,以最优方式将数据存储在存储设备上,可以提高操作效率,充分利用存储空间和节省费用。数据管理系统是数据库所具有的功能的体现,为用户与数据库之间的桥梁。通常由三部分组成: ①数据定义程序,定义数据项格式和记录格式、存取路径、数据文件之间的逻辑关系、存贮位置的分配等。使数据库系统知道存取什么,向(从)何处存取,以及如何进行存取等事项。②数据操作程序,它对数据进行监控、检查、存取、更新和保护等。③数据库服务程序,包括转贮、装入、无用存贮空间收集、数据的重新组织等。用于对数据库进行维护,以保障其正常运行。
地图数据库包括仪器设备(硬件)、数据、数据库管理系统和其他软件。
地图数据库的产生、发展和应用,至今不过20年左右。历史虽短,但其发展速度却十分惊人。世界各国与地图有关的各个部门,已经和正在建立大量的各式各样的数据库系统,并且还在对地图数据库系统的各个方面不断进行研究和改进。因此,随着时间的推移,地图数据库的理论、方法和设备等必将有较大的发展。
由简单类型的数据构造复合类型数据的方法和表示。计算机软件中的数据结构一般包括数据的逻辑结构、数据的物理结构和数据的运算等三个方面。数据的逻辑结构描述数据间的逻辑关系,可以用一个二元组B=(K,R)来表示.其中K是结点的有穷集合,结点(或称元素)是数据结构中讨论的基本单位;R是K上的关系的有穷集合.数据结构分为线性结构和非线性结构。
1.线性结构。有且仅有一个终端结点和一个开始结点,并且所有的结点都最多只有一个前驱和一个后继。向量、栈、队列等顺序表以及字符串、链表等线性表都是线性结构。
2.非线性结构。树形结构、图、多维数组、稀疏矩阵、广义表等都是非线性结构。
数据的物理结构即数据的存储结构,描述数据的逻辑结构在计算机存储器的表示方式。通常有四种基本的存储映像方法:
1.顺序的方法。把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。这种方法主要用于线性的数据结构。对非线性结构也可以采用局部线性化的方法实现顺序存储。例如,在树形结构中可以把结点按某种规则排成序列,用顺序存储方法把结点内部的信息稠密地存放在一起,而对结点之间的关系采用其他的存放方法。
2.链接的方法。将结点所占的存储单元分为两部分,分别存放数据项和指针项。
3.索引的方法。用结点的索引号来确定结点的存储地址。
4.散列的方法。在结点k的字段里取一个或几个字段的值Wik作为关键码,结点k对应的存储地址LOC(k)由函数f(称为散列函数)确定,LOC(k)=f(Wik)。
数据的运算是定义在数据的逻辑结构上的,但运算的具体实现要在物理结构上进行。数据的运算包括对结点进行的检索、插入、删除、更新、排序等。数据结构尚有静态和动态之分.静态结构就是数据的结构(逻辑结构和物理结构)特性在该数据结构存在期间是不能改变的,例如向量、数组、记录等;而动态结构是在整个使用期间,数据的结构特性是可变化的,例如栈、队列、链表、树、动态数组结构、递归数据结构等。