薛江帆 张会霞 牛俊杰
历史古城是人类与自然相互交融和发展的一种体现,反映出我国不同地域不同历史阶段的独特且合理的文明现象。山西古建筑文化历史悠久、底蕴深厚、现存古城资源众多。但山西地势多山且不便利的交通,给古城遗址的保护和发展带了很多不便。并且古城旅游开发符合山西省经济转型的重要战略,也是其旅游转型的重要方向。所以高效且便捷的山西古城信息管理十分重要。
随着我国互联网和地理信息系统的发展,在古代建筑的保护和信息保存上早就有了多种且有效的手段。但在以往学者的研究中,学者多以单一建筑的保护建立数字化模型,如王崇恩等对历史建筑以建立历史建筑信息模型的方式进行研究,白焱利用REVIT技术将山西晋祠鱼沼飞梁进行了还原。他们的主要研究都是对单个建筑进行具体分析,虽然这些研究详细并且全面,但只是单一的研究古代建筑的信息,没有把握建筑之间的关联性和完整性。而地理信息系统的二次开发就是综合表达和管理地理信息最常用的方法之一。本文采用SQL Sever2012存储属性数据,采用C#开发ArcGIS Engine组件建立山西古城管理系统。
本研究以山西为例,搜集和查询山西古代城市的基本数据,并对数据进行分析和处理。建立山西古城管理系统。主要是为了方便人们对古城数据的管理和保护,使用系统中的功能可以方便人们对山西古城信息查询及信息保护。
具体来说,就是开发一个山西古代城市信息数据库管理系统,建立山西古城数据库,并搭建山西古城信息系统。最终对山西古城数据库系统进行运行和维护,满足系统开发的基本需求。
该系统使用C/S结构。
前端的客户机,主要完成用户界面显示,完成山西古城地图的浏览、属性查询、多媒体查询等应用功能。后端的服务器,主要是运行DBMS,在服务器中储存山西古城的数据信息,方便对古城信息进行存储和更新,提供数据库的查询和管理。
该系统包括数据加载、数据库连接、地图浏览、属性查询和多媒体查询等功能。
地理数据库是地理信息系统数据管理的基础。该数据库主要包含了两大类数据:空间数据和属性数据。古城位置信息根据相关资料标注,属性信息来源于山西省文物局官网,山西省其他矢量数据来源于CSDN官网。
使用ArcGIS软件矢量化山西古城。先矢量化山西行政图。对山西省一到五级河流、基本道路和基本铁路等信息相对于地图进行配准。然后使用ArcCatalog新建点、线、面数据图层,修改地理坐标系和地图投影,最后在ArcGIS中由底图添加古城数据,绘出山西省行政区、交通和河流的等信息,完成矢量化。可以更加直观和准确地表达山西古城数据的分布范围和分布密度等信息。
属性数据库的主要信息有山西各个古城的归属省、归属市、归属县、遗址名称、遗址朝代、建城朝代等字段以及文字介绍、图片和视频信息,并存储在SQL Sever 2012中。空间数据加载前将属性数据库连接到空间数据库上。
(1)首先在系统开发的程序中定义数据库的连接字符串,包括datasource服务器,Initial Catalog数据库名和身份验证信息。
(2)定义数据库连接变量并传入数据库连接字符串参数。
(3)打开数据库连接。
(4)string SQLstr01 = "Select * from 山西古城信息",定义查询语句。
(5)SqlDataAdapter MyAdapter = new SqlDataAdapter(SQLstr01, conn01)。
(6)新建一个空的数据集。
(7)执行SQL,将结果给ds01。
(8)打开窗体,填充数据。
主要是对山西古城地图进行地图浏览的功能的开发。利用ToolbarControl控件可以使鼠标实现矩形框任意放大缩小功能,还可以点击“地球”样式的图标进行全图显示。使用MapControl控件和EagleEyeMapControl控件实现数据视图和鹰眼的功能。再使用PageLayoutControl控件可以实现视图功能,方便用户输出地图信息,可以用来制作所需的山西古城专题化地图。也可以在axTOCControl控件中添加contextMenuStrip控件进行属性表的浏览。
属性查询:基于山西古城的空间数据,通过构建SQL查询语句来进行搜索,首先使用IQueryFilter接口定义属性查询的条件,再使用WhereClause方法输入where的子句,从而得到查询的结果,查询的结果会显示在地图上,如图1所示。
图1 属性查询
把山西古代城市的信息储存在数据库中。通过山西古城的名称进行查询,系统会弹出窗口并利用richTextBox、pictureBox、WindowsMediaPlayer控件显示文字介绍和图片并播放介绍视频,如图2所示。信息可以让使用者从多个方面了解山西古城的过去和现状,更加直观地表现出古城信息。
图2 多媒体查询
本文以山西古城数据库管理系统为例,以山西省基础地理信息、空间地理信息为核心,论述基于ArcGIS Engine二次开发一个古城信息系统的过程。在开发的过程中要遵循了科学合理原则,不但满足山西古城遗址的多样化查询,而且建立一个完善山西古城管理的系统。使用该系统就可以查询相应的山西古城信息,使人们可以更加方便快捷地了解山西现存历史文化古城,也能帮助人们更好地了解深厚的山西文化,从而对古城加以保护和发扬。