史华林,何 飞,王云全,卢永军
(1.中国有色金属工业昆明勘察设计研究院,650051,昆明;2.陆良县城建档案馆,655000,云南,陆良)
城市规划是对地理信息系统(GIS)应用最早、最活跃的领域之一。GIS的数据库管理有利于将这些数据信息归并到同一系统中,有利于进行包括城镇总体规划、城市建设用地适宜性评价、环境质量评价、道路交通规划,公共设施配置以及城市环境的动态监测等。对于一个GIS应用系统来说,作为基础数据平台的空间数据库的性能则在很大程度上决定了整个系统的性能。本文运用空间数据引擎ArcSDE和关系数据库管理系统SQLServer集成的方式,有效地将空间数据及其属性数据关联起来,并以陆良县城市规划为例,实现了空间数据库的构建。
ArcSDE是美国地理信息系统(GIS)软件生产商ESRI公司推出的专用的空间数据库引擎(Spatial Data Engine)。它的主要功能是在关系数据库管理系统(RDBNS)和空间数据之间建立一个应用接口,对关系型数据库管理系统进行空间扩展,将空间数据和属性数据集成起来[1],从而实现空间数据和属性数据的无缝连接。SQL Sev-er是目前广泛使用的大型数据库系统之一,属于多线程关系型数据库,硬件要求低。它支持分布式数据结构,系统的执行效率较高,且与Windows操作系统具有非常好的兼容性,相对其他大型商业数据库而言价格便宜[2]。ArcSDE将空间数据类型添加到SQL Sever中,它并不改变和影响数据库及其应用,只是在现有的数据表中加入图形数据项(Shape column),供用户管理和访问与其关联的空间数据[3]。在服务器端,将ArcSDE与SQLServer连接后,就可以将shp等格式的空间数据,通过ArcGIS Desktop中的功能模块ArcCatalog来进行导入。
城市规划建设涉及的数据种类多,数据结构比较复杂,包括了城市产业布局、城市布局、基础设施布局等空间数据,以及空间数据的属性数据,内容涵盖了文本、表格数据、地图、遥感影像等矢量、栅格数据等。根据数据内容和特征,将数据分为4大类:基础地理信息数据、城市专题数据、城市规划管理数据、城市建设专题数据。为了便于数据管理,在这4大类中又划分若干子类。如表1是数据的分类组织及说明。
表1 数据的分类组织及说明
规划空间数据的分层与编码设计。根据数据的规范化和标准化要求及基础地理信息系统的管理需求,参考《1∶500 1∶1 000 1∶2 000地形图要素分类与代码》、《1∶500 1∶1 000 1∶2 000地形图图式》(GB/T20257.1-2007)、《国土基础信息数据分类与代码》及《城市基础地理信息系统技术规范》,《基础地理信息数据分类与代码》(GB/T 13923-2006)为基础进行扩充。根据国家的相应标准,结合县级城市地理信息中心实际,在分层设计中可将基础地理要素分为22大类,它们全部涵盖了国家分类标准提出的八大基础地理要素(定位基础、水系、居民地及设施、交通、管线、境界及政区、地貌、植被与土质);在此基础上,增加了要素的注记层,包括点、线及其他(如图廓要素)相关信息描述,并设计相应的点层存放点位信息,便于后面的空间分析和拓扑分析。
依据ArcSDE+SQL server的空间数据管理技术,将数据进行分析和分类,进行数据库框架设计。通过ArcSDE空间数据引擎,数据管理员和用户通过ArcSDE与SQL server进行紧密连接,实现数据有效、快速存取。如图1所示。
图1 数据库框架结构
数据库概念设计是将数据抽象为用户能理解的概念模型,通过对现实世界的抽象,最后得到系统的实体—关系图,即E-R图。
E-R模型建立。E-R模型用实体(Entity)、属性(Attribute)及实体间的联系(Relationship)组成的E-R图。实体间的联系有一对一联系(简记1∶1),一对多联系(简记1∶n),多对多联系(简记m∶n)。各实体的E-R模型图合并后得到局部E-R模型图,各局部E-R模型图合并优化后,可得到数据库的基本E-R模型图。规划空间数据库局部的E-R模型如图2所示。
图2 划空间数据库局部的E-R模型图
逻辑设计是数据库设计的核心,它的任务是将概念模型转化为某种特定数据库管理系统所支持的逻辑数据模型。数据库采用Geodatabase通过空间要素集(Feature Dataset)、空间要素类(Feature Class)和空间要素(Feature)三级模型组织矢量地图数据。在城市建设规划中,基础地理信息、建设项目专题信息大部分都是矢量图形数据,这些数据以分层、分区的形式进行管理,“根据不同的数据分类和不同几何表达形式(点、线、面)来建立不同的图层,通过统一不同对象之间的地理参照坐标来实现空间数据之间的关联”,同时,对空间要素进行唯一编码,通过编码与相应专题属性数据进行关联。
空间数据和属性数据的无缝集成,在规划业务上来讲,也就是如何将规划图形表示与其相关的案件信息高度关联起来,实现图文一体化的查询的问题。建库采用基于 SQL Server2008的ArcSDE Geodatabase存储,陆良县城市建设空间数据包括基础数据、专题数据、城市规划成果数据、城市规划控制数据。属性数据主要是根据业务提交资料、相关证书内容数据的属性数据表按照设计存储在ArcSDEGeodatabase数据库中,规定构成数据库的要素类、栅格数据集、属性表以及表之间的各种关系。
属性信息存储在SQL Server 2008中。先利用ArcCatalog建立相应的新的属性表,然后在ArcMap中将筛选的城市规划数据属性表进行编辑和输入。非空间数据对多媒体记录表,数据库中只存储对媒体的引用路径,具体的多媒体信息则存储在本地磁盘上。法律法规、相关宏观经济分析材料等文本形式存放。
4.1.1 属性数据表的设计 属性数据编码时将各种属性数据变为计算机接收的数值或字符形式,以便用于管理信息系统存储管理。属性数据结构设计包括空间数据属性结构设计和非空间数据属性结构设计。空间数据结构设计主要指矢量数据的属性结构设计(表2为空间数据红线属性结构表设计),非空间数据结构指与业务相关的数据结构、多媒体数据和相关的文本文档。
4.1.2 空间要素与非空间要素的关联 通过建立空间要素与非空间要素类之间的关系类(Relationship Class)来关联空间数据和属性数据。首先建立空间要素的主键(Primary key),按照一定的标准对每个空间要素进行唯一编码,而相关专业的项目非空间要素属性也通过相对应的唯一编码(相同的数据类型和表达同样涵义),来建立两者之间的关系,将图层中的空间实体和该实体相对应的属性信息进行关联[4]。
表2 空间数据红线属性结构表的设计
矢量的规划数据的逻辑模型采用三级分层的逻辑结构:分库、子库 、要素层 ;在一个投影带的数据中,同一时态相同比例尺的数据实体全部存储在相同的辅助制图数据库中,这些空间数据经过处理分层后存储在基于SQL Server的ArcSDE Geodatabase数据库中。栅格数据主要是正射影像图和一些扫描图件,以目录文件方式进行存储,将每类栅格数据作为一个子库,对每个栅格子库建立目录,在这个子库级目录下为其所包含的分区建立目录,在具体的分区目录中以图幅为单位存放该区的栅格图像。建库结果如图3所示,分别有基础地理信息数据集、规划管理信息数据集、规划专题数据集和SDE表。在ArcMap导入数据,效果如图4所示。
海量、多源城市规划数据的有效存储和管理是成功城市规划决策的有力保障,由于ArcSDE具有海量数据存储、多用户并发访问、支持长事务处理和版本管理等强大优势,SQL Server 2008是成熟的关系数据库,因此 ,基于ArcSDE和SQL Server 2008技术的集成是GIS技术与数据库技术的理想结合,可以有效地组织和管理海量数据,提供强大的数据支持。
图3 规划空间数据库建库结果
图4 在ArcMap中加载数据效果图
[1] 杨大兵,陈建平,王凤,等.基于ArcSDE的空间数据库研究[J].勘察科学技术,2009(5):50-54.
[2] EASR.ArcSDE Configuration and Tuning Guide for Microsoft SQL Server[M].[s.1]:EARI,2004.
[3] 张宁.宫辉力.赵文吉,等.基于 SDE与 MapObjects控件的GIS开发应用[J].首都师范大学学报:自然科学版,2005,26(2):101 -105.
[4] 张洪吉,李绪平,罗勇,等.基于ArcSDE.和SQL Sever的新农村建设数据库设计与实现[J].安徽农业科学,2013,41(4):1836 -1838.