“辽金古城”遗址空间数据模型构建与融合式检索研究

2023-10-18 13:32李远华刘嘉宸蔡德森
科技创新与应用 2023年29期
关键词:辽金数据模型空间数据

张 宇,李远华,刘嘉宸,徐 达,蔡德森

(吉林大学地球探测科学与技术学院,长春 130026)

辽金文化发源于东北地区,残留了众多辽金古城遗址,保存着上千年的历史,是极其宝贵的文化资源。对辽金古城遗址空间信息的研究和建设,对东北地区旅游资源的开发、增强文化自信具有积极作用。辽金古城遗址作为特色文化资源,其空间结构、文史信息都具有重要的文化价值。以往的学者在辽金古城遗址考古、空间数据调查、文化信息挖掘方面开展了诸多研究[1-5]。但是由于东北辽金文化尚属小众文化,对古城遗址结构多为总结性研究,对离散分布古城主要采用简单的点状数据和结构素描图进行展示[4],对每个古城的空间信息缺乏专业的GIS表现技术和管理手段[6],没有针对性的空间数据模型,影响了辽金古城遗址信息化建设和管理。

因为辽金古城结构复杂,类型多样,其内部具有差异化的空间结构,对其进行个体化的展现就离不开有针对性的空间数据模型和空间管理技术。因此,如何根据古城特点,构建恰当的空间数据模型,并提出有针对性的古城信息管理与查询技术是一个值得研究的问题。

空间数据模型的建立需要明确对象的空间拓扑关系、框架图形表达、属性结构和空间数据集的组织问题,因此,本文在古城空间特征分析的基础上,从以上几个方面构建古城空间数据模型。每个古城都由复杂多样的矢量图形构成,如果采用传统形式,文件杂乱且难以管理,空间数据库能将矢量图进行封闭式管理,因此,为每个古城构建一个空间数据库,即能解决上述问题,开展离散式的数据库技术研究,从而解决综合的管理与查询问题。本文即是围绕上述关键问题开展研究。

1 技术路线

本文的技术思路:首先,收集辽金古城遗址遥感数据,为古城结构分析和空间提取奠定数据基础;其次,从空间结构、空间要素特性和数据管理需求等方面对古城要素进行分类,分析其空间结构;之后,以古城空间结构为依据,分析古城要素拓扑关系和对应的图形表达,并按照古城要素特性构建属性结构,结合古城空间结构层次组织各要素类,完成古城空间模型的构建;然后,对于古城空间模型的管理,建立个体和整体古城空间数据库,并分别设计属性查询、数据修改和空间显示与统计方案,将个体和整体古城空间数据实现联动管理;最后,基于古城空间模型实例化古城对象,对古城空间模型和古城管理系统进行应用与分析,实现对古城空间数据统一、集成式的管理(图1)。

图1 技术路线图

2 辽金古城的空间结构分析

由于古城是一个要素众多的集合,需要对古城的结构进行分析,明确古城的空间结构,为古城空间数据模型的建立提供依据。

从整体形态上看,辽金古城形态、种类多样,按面积大小可分为特大型、大型、中型和小型城址4 种,依据平面形状不同可分为4 个亚型:长方形、正方形、四边形和不规则形城址[7]。古城遗址四周被残缺的城墙环绕,多呈现“口”字形,部分古城具有“日”字形双城结构或“回”字形的内外城结构。

从结构上看,辽金古城在水平方向主要由夯土、砌石构成防御城墙体,墙体上窄下宽,城门和城防设备镶嵌在城墙体之上或与之紧密结合;古城内部结构同样复杂,设施种类众多,城墙和交通设施构成了古城遗址的基本框架,残存的城墙分段离散,由内外城墙线包围封闭形成;古城交通设施包括城门和主干道路,城门嵌入城墙,表现为残存城墙的缺口,狭长的主干道路连接各城门。内城区被城墙环绕包围,并被主干道路分割。对于城防设施,马面、角台分别在城墙外围和拐角处,瓮城与城门位置重合,包含城门。古城内部建筑大多消失殆尽,被现代耕地和建筑替代[8-9]。

3 古城空间模型

辽金古城遗址形态各异,但建筑布局具有共性。可以通过分析遗址要素之间的拓扑关系以及空间特征,结合要素之间的层次结构,从古城的空间图形结构、属性结构和数据组织结构3 个方面构建古城空间模型,为集成式管理古城空间数据奠定理论基础。

3.1 古城空间图形结构

古城范围数据标识古城存在的区域,以略大于古城面积的矩形面要素表示;古城位置以遗址中心为代表,在大范围展示古城遗址分布时,用点要素表示;城墙内外边界围绕古城,确定了古城形状和范围,为线要素;城墙面被城墙内外边界线包含,以面要素表示;城门、马面、角台及瓮城附着于城墙,以点要素分布在城墙不同位置;主干道路在古城内部,与城墙相交,端点连接城门,呈线状,有一定宽度,用面要素表示。城内各要素以不规则区域分布在内城区,用面要素表示(图2)。

图2 古城空间结构概念图

3.2 属性结构

属性数据即非空间数据,是要素必要的空间特征描述。古城的共性信息(如古城名、坐标点等)通过古城范围要素的属性字段表示。然后,依据每一个古城矢量要素的文化内涵与空间图形特征设计相应的属性字段,并且每个要素用一个编号字段标志其所属的古城。例如古城范围要素集有古城区域(面状)和古城位置点(点状)2 个要素类,古城区域的属性字段有:古城编号(int)、古城名(char)、经度Px(decimal)、纬度Py(decimal)、古城类别(char)、残存度(%)(int)。

3.3 数据组织结构

古城遗址各要素离散而有联系,需要对数据集成封装。可利用ArcGIS Geodatabase 空间数据库实现古城空间数据模型。对单个古城对象,新建一个Geodatabase 数据库,按照古城空间结构组织古城要素集和对应要素类,构建古城空间层次关系,并建立各要素类的属性结构。对古城遗址空间信息提取时,要素类保存提取的古城空间几何数据,并添加对应属性值。

4 古城空间数据集成管理与分析技术

作为一个整体,古城可被视作独立的对象,而这些独立的对象又构成了新的数据集,可单独建立集成数据库存储管理整体古城信息,并分别设计数据库的属性查询、数据修改和空间显示与统计方案,从而实现个体和集成古城空间数据库的交互管理。

4.1 数据存储模式

对于个体古城空间数据的存储,可将单个古城视作独立的对象。按照古城空间数据模型,古城提取的结果是一个独立的空间数据库,代替繁杂的图层文件,具有封装性和统一空间坐标系。数据库文件存储在程序指定的文件夹下,可通过文件名检索古城,便于管理、储存和共享古城遗址图层数据。由于古城数据之间相互独立,因此对单个古城数据库的操作不会影响其他数据库,从而实现了面向对象的古城空间数据管理。

集成古城空间数据存储方案的关键在于提取古城遗址的共性特点,因此可以单独建立古城信息数据库,以管理古城遗址的相关描述和位置坐标等宏观属性信息。在初始化时,可通过循环连接个体古城数据库,导入对应古城属性信息,以此实现封装性和数据共享。

4.2 属性查询模式

针对个体古城空间数据库的查询,个体古城空间数据库以一个Geodatabase 数据库文件形式存储,因此,打开古城数据库所在文件夹,通过古城名称检索数据库文件,运用C#+OLEDB 空间数据库技术,连接古城空间数据库,访问其属性信息。每个要素类即是一张关系表,通过Select 语句,可查询单个古城的空间数据。

而对于集成空间数据库,古城信息数据库中记录古城宏观属性数据,与个体空间数据库中的空间数据分别存储,在不涉及古城空间几何数据时,不再逐一连接古城空间数据库,仅连接集成空间数据库,直接对信息表中的古城信息查询统计即可,从而提高程序运行效率。

4.3 空间数据修改策略

个体古城数据的修改可以直接通过ArcGIS 数据平台编辑,在要素类的编辑状态下手动修改属性表,部分属性值可通过几何计算自动更改,如面积、周长等几何属性;也可以在古城所在文件夹内,检索目标古城,通过OLEDB 语句连接古城数据库,运用Update 语句修改其中的属性信息;修改后在集成数据库内部连接该古城空间数据库,将古城相应属性更新至集成数据库,实现与古城信息表的联动管理。

集成数据库的数据修改可以通过连接古城信息表由程序直接进行,对各独立的古城空间数据库进行动态连接。连接集成数据库后,依据权限对古城信息进行访问修改。同时总库的修改也会涉及子库数据的更新,因此需要根据所修改的古城对应编号,访问该古城空间数据库,更新相应数据集下的空间数据。

4.4 空间查询与显示

由于辽金古城遗址是空间化数据,因此需要考虑其空间特征。古城本身是具有独特空间结构和组成要素的实体。对于整体古城数据来说,由于其数量多、分布广泛,可以被视为空间中的点状数据。因此,在解决辽金古城遗址的空间查询和显示问题时,需要从个体和整体古城数据的角度进行考虑。

本文基于C#和ArcGIS Engine 二次开发技术实现古城遗址的空间查询与显示。其中,查询系统中使用了地图控件(MapControl)用于空间图形和查询结果的显示,同时通过窗体中的DataGridView、TextBox、Chart 等控件显示空间查询的数量和统计值。算法的具体实现思路如下:首先,运用ArcGIS Engine 数据连接方法打开对应古城的Geodatabase 空间数据库;然后,定义空间查询过滤器对象(ISpatialFilter),并为其设定WhereClause(sql 查询语句)、Geometry(查询的空间范围)、SpatialRel(给定范围与查询对象的空间关系)等参数;最后,执行的结果将存储在内存变量中,并通过地图控件与之关联和显示,从而实现空间数据的查询。整体空间查询对象和结果均为该古城的点状数据,个体查询结果将详细显示该古城的空间结构,并以高亮方式呈现查询结果。

5 应用与分析

根据前期提取的古城信息,依据模型要求和建模步骤,完成了6 个具有代表性的古城空间数据提取(图3),并基于本文古城空间模型创建了空间数据库(图4),形成了测试数据集;然后,用C#+数据库技术,将6 个独立的古城空间数据库进行逻辑连接,同时构建了古城信息总数据库(Total.mdb)用于管理所有古城的基本信息;最后,对于基本信息的查询与修改,通过Select、Update 等SQL语句实现,如果古城数据发生修改,采用Update 方法更新相应个体古城数据库;针对个体古城进行详细的信息查询、属性修改、数据增加等操作,可通过循环连接数据库的SQL 语句实现,其中涉及空间数据的修改可通过ArcGIS 等空间数据处理平台完成,初步实现了古城数据的一体化管理(图5)。

图3 提取效果图

图4 古城空间数据库模型

图5 程序运行图

6 结论

本文针对辽金古城空间信息的集成化管理,建立了古城空间数据模型,并提出了面向对象的古城空间数据管理方法,同时开展了古城空间数据模型实践和程序设计,取得了如下认识。

其一,要想体现出古城的内涵与复杂的空间信息,需要构建如下空间模型:古城多为方形,城墙构成古城的中外层骨架,内城墙线是古城内部空间的边界线,角台等主要城防设施附着于城墙外沿;利用线图形反映古城主体框架,面图形表现墙体、建筑或大型城防设施等,可用点图形标志小型城防设施等重要部位,并为每种要素根据其内涵、文化描述构建相应属性结构。采用空间数据库多要素方法,集中管理数据,实现古城集成空间信息的管理。

其二,对古城空间数据的集成管理可以利用面向对象的方法,将古城看作独立的对象,通过程序对文件、数据库、SQL 语言进行融合式算法设计可实现个体、总体古城数据交互式查询和管理。还可利用Visual Stadio C#+OLEDB+ArcEngine 的编程模式将整体与个体古城空间数据联动,具体解决属性查询、数据修改和空间显示与统计分析问题。

本文重点围绕“辽金古城”遗址空间数据模型和集成管理技术开展研究,构建了空间数据模型,并提出了集成式管理技术的解决方案。然而由于辽金古城相关文化底蕴深厚,对古城空间或属性信息的解读水平受历史、考古和文学等方面的知识、能力局限,因此在数据库优化、系统设计和算法优化方面还有待深入的研究和探索。

猜你喜欢
辽金数据模型空间数据
《辽金历史与考古》征稿启事
辽金之际高永昌起义若干问题浅谈
北京房山云居寺辽金刻经考述
面板数据模型截面相关检验方法综述
加热炉炉内跟踪数据模型优化
元数据驱动的多中心空间数据同步方法研究
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略
面向集成管理的出版原图数据模型
多源空间数据同名实体几何匹配方法研究