《基于ArcSDE的空间数据库技术在房产管理系统中的应用》摘要:房产数据具有极强的空间相关性,随着地理信息系统在行业应用中的深入发展,现有房产管理软件已无法满足房产数据空间可视化管理的需要,文章以地理信息系统的二次开发为例,对ArcSDE的空间数据库技术进行了研究,并提出了将ArcSDE技术应用与房产管理系统的具体实现方案。关键词:ArcSDE;空间数据库;地理信息系统;房产管理系统中图分类号:C37 文献标识码:A 文章编号: 0引言传统的数据管理系统大多是对一般数据对象的操作,而房产数据除具有一般数据对象的特性外,还具有很强的空间特性(如位置,形状),现有多数房产管理软件显然已不能满足空间数据可视化管理的需要,地理信息系统(GIS)的快速发展为解决这一问题提供了重要的技术手段,并迅速在各行业中广泛应用。数据是地理信息系统(GIS)的基础,空间数据是地理信息系统(GIS)操作的一个最重要的对象。 [1],传统的关系数据库管理系统(RDBMS)无法直接管理空间数据,空间数据的数据库解决方案一度成为GIS行业研究的热点。1空间数据库技术空间数据与空间数据库地理信息系统(GIS)的操作对象包括空间数据和属性数据,属性数据往往是依附于空间数据而存在的,可以说空间数据是地理信息系统(GIS)的最主要也是最重要的操作对象[2]。空间数据库是空间数据的集合,在空间数据库中,空间对象的属性映射为关系数据库中的列(Column)或字段(Field),而对象行为则是对象的方法(Methods)和表述有效性规则的元数据表,每个空间对象对应一条数据记录[1]。与传统关系型数据库相比,空间数据库具有数据量庞大,高可访问性、空间数据模型复杂,属性数据与空间数据联合管理等特点。空间数据库技术与ArcSDE空间数据库技术是为实现用关系型数据库管理系统(RDBMS)管理空间数据[1]。GIS二次开发中,最常用的有两种空间数据管理方式,一种是采用GIS平台商提供的空间数据库管理中间件加通用商业数据库软件,另一种是直接采用数据库厂商提供的空间数据库扩展模块[3],ArcSDE就是前者的一个典型代表。从空间数据管理的角度来看,SDE可看成是一个连续的空间数据模型,借助这一模型,我们可将空间数据加入到关系数据库管理系统中去[4]。与其它空间数据库解决方案相比,ArcSDE具有海量数据存储、多用户并发访问、版本管理、长事务处理等强大优势[5],是在实际开发中应用比较广泛的一种技术。房产管理系统的需求 结构与功能需求以某高校房产管理系统为例,系统在总体结构上分公共客户端和后台管理端两部分,根据用户身份和权限分别提供不同的功能模块。公共客户端为社会大众服务,提供对房产信息的空间查询、属性显示以及房产各楼层、各房间信息的查询和显示;后台管理端只限管理人员使用,为房产信息的采集、发布、更新和管理提供可视化平台。 公共客户端针对高校房产管理系统的需要,公共客户端主要提供属性查询和房产搜索两个对口功能模块:(1)属性查询模块分为房产信息查询模块与楼层信息查询模块。房产信息查询支持在主地图上单击房产查看相应房产信息,楼层信息查询则可以查看选定房产的各楼层详细地图,在楼层地图上单击房间可以查看对应房间的使用情况。(2)房产搜索模块主要是利用关键字技术搜索相应地产在地图上的位置,快速定位目标,并显示房产信息,又分两个子模块——按类别搜索和关键字搜索。按类别搜索时,用户点击相应类别按钮得到属于该类别的所有房产列表,点击列表中相应房产,地图自动缩放到该房产范围并高亮显示,同时显示房产属性信息。按关键字搜索是由用户输入关键字,系统按特定关键字搜索出符合条件的所有房产,点击相应房产实现缩放、高亮和显示属性信息,支持模糊查询。 后台管理系统后台管理端是其实质上的灵魂,后台管理端主要为管理人员提供了属性编辑模块和地图编辑模块两个主要功能模块:(1)属性编辑模块提供对房产属性信息的在线编辑功能,支持多用户并发操作。主要是在属性查询模块的基础上开放了对属性信息的编辑权限,基本操作与属性查询相同,不同的是管理人员可以对属性信息进行修改或删除操作。(2)地图编辑模块提供对空间对象几何属性的编辑功能,同样也支持多用户并发操作。此模块是房产管理系统的一个重要模块,可以对地图上的几何图形进行操作,管理人员可以使用此模块进行添加房产、修改房产几何图形、删除房产等操作。 数据管理需求高校房产管理系统采用webGIS二次开发方式进行开发,具备GIS应用强大的空间数据可视化操作能力,房产数据通过ArcGIS软件集成于一个或多个地图图层上,因此房产管理系统的直接操作对象实际上是ArcGIS图层。webGIS应用使用的图层应包含一个基础图层和若干业务图层,基础图层只做表层显示之用,业务图层为空间数据的载体,实际承担空间查询、空间分析等任务。高校房产管理系统的基础图层为Google Map上截取的一张卫星像片,可直观的展示高校房产的原貌。业务图层仅包含一个经ArcGIS软件矢量化处理的要素图层,这个要素图层功能强大,可以为公共客户端和后台管理端绝大部分功能模块提供数据支持。另外,使用这个要素图层可以方便的控制数据编辑权限。使用ArcGISServer提供的应用程序开发接口(API),通过操作要素图层的相关属性便可实现编辑权限的控制,使权限控制从访问数据库阶段提前到用户请求阶段,大大减小了系统开发人员的工作量。ArcSDE在房产管理系统中的应用 ArcSDE安装配置房产管理系统操作的所有数据必须来自于ArcSDE(上文已做讨论),因此在系统开发前期需要首先安装ArcSDE软件。ArcSDE针对不同的关系数据库管理系统提供了不同的软件版本,安装过程中需要进行一系列配置方能在ArcGIS软件与关系数据库管理系统之间建立联系,实现空间数据的联合管理。以ArcSDE for Microsoft SQL Server版本为例,在软件安装完成后需要紧接着进行配置,包括选择空间数据库架构、连接SQL Server实例、创建SDE数据库和SDE用户以及对软件进行授权等。配置工作完成后,ArcSDE便与SQL Server建立了内部的连接,打开SQL Server Management Studio,可以看到ArcSDE在背后帮我们创建了一个sde数据库,并在其中创建了一系列关系表(如图1),这些关系表是SQL Server通过一般数据表达几何数据的关键。实际应用中,用户无需关注这些复杂的关系表,也不需要用到SQL Server来操作数据,感觉上就像只有ArcSDE在独立工作一样。图1sde数据库中的关系表 使用ArcSDE管理数据不像SQL Server等成熟的商业数据库管理系统,ArcSDE只是一个数据库中间件,没有独立的管理平台,其中的数据仍需要通过ArcCatalog来管理。ArcCatalog是典型的文件式数据库管理平台,要使用它来管理ArcSDE中的数据必须建立与ArcSDE的连接。连接建立起来之后,在ArcCatalog中会生成一个新类型的数据库——ArcSDE地理数据库,在这个地理数据库中存储的空间数据会通过ArcSDE映射到关系数据库中,在关系数据库中生成一张对应的主数据表和若干辅助表(如图2)。主数据表反应空间对象的属性信息,其中的每条记录对应一个空间对象,主数据表与辅助表共同反映空间数据对象。对于房产管理系统来说,房产信息的变更比较频繁,这要求系统应该支持多用户并发操作,ArcSDE的版本机制为此提供了很好的支持。当ArCSDE服务器的一个实例(instance)第一次启动时就建立了数据库缺省的状态和版本,用户可在此基础上建立公共的或私有的数据版本。用户各自在自己的数据版本上工作,不用担心自己的修改会影响到他人的操作,只有等用户提交了他的事务时,系统才会对用户的修改做出处理。如果提交发生冲突,系统为用户提供了解决冲突的三种选择:维持原状、否决自己的修改或否决别人的修改【4】。要使用ArcSDE的这种版本管理机制,要求在ArcSDE地理数据库中存储的数据必须注册版本。图2sde数据库中的主数据表与辅助表 为房产管理系统制作数据服务高校房产管理系统可直接操作的对象是ArcGIS图层,系统需要的房产数据需全部集成于一个要素图层上,当然,这个要素图层需要借助于ArcGISServer发布为webGIS可用的要素服务。数据制作与发布过程中有几个问题需要注意:(1)空间数据对象在导入ArcSDE地理数据库时必须提前设置好属性字段。因为数据一旦导入并注册版本,其属性字段将被锁定而无法在ArcCatalog中修改。若必须修改或者增加删除字段,只有进入底层关系数据库中进行操作 ,或者在ArcCatalog中将原数据删除重新导入。(2)实际应用中,往往有这样的需求,某些属性字段的值只期望为指定值中的一个,如某房产内部是否安装暖气,属性值只期望为“是”或“否”,不应该任用户随意输入,以确保数据不被恶意破坏,这就需要用到ArcSDE地理数据库的属性域功能。使用属性域后的属性字段对用户操作进行了限制,属性值的获取方式由用户输入变为拉框选择。(3)使用ArcGISServer发布地图服务(MapServer)时,必须勾选Feature Access才能成功发布为要素服务(FeatureServer)。要素服务是ArcGISServer 新推出的一种服务能力,使用要素服务可以实现对空间数据的在线编辑,但目前要素服务只能依附于地图服务来发布,发布成功后可以在ArcGISServer的Rest服务管理页面看到同名但不同类型的两个服务。结语使用ArcSDE空间数据库技术很好的解决了使用关系数据库管理系统管理空间数据的问题,为高校房产管理系统提供了强大的数据支持,实现了房产信息的空间可视化管理。实际上,在行业应用中还有许多管理系统有类似的需求,特别是对于农业资源、林业资源、旅游资源等强空间相关性资源的管理,传统的资源管理系统无法充分表达资源的空间特性,地理信息系统的应用与发展迎来了良好的机遇,但同时也对空间数据库提出了更快、更强、更安全的要求,空间数据库技术的研究仍面临着巨大的挑战。参考文献:[1] 潘瑜春,钟耳顺,梁军. 基于空间数据库技术的地籍管理系统研究[J].地理研究,2003,第 22卷(第2期):237~244.[2]张安,王浩. 浅谈Web数据库技术在GIS中的实现[J].科技向导,2011,第8期:124.[3] 文小岳,范冲,周树林,赵俊三. GIS二次开发中空间数据库技术解决方案研究[J].昆明理工大学学报(理工版),2007,第 32卷(第3期):6~8.[4]倪慧珠,邱新忠,曹先革. 空间数据库引擎SDE的研究[J].测绘工程,2006,第 15卷(第1期):17~19.[5] 杨坤鹏. 基于ArcSDE的空间数据库技术研究与工程实现[D].上海:同济大学,2008.