林选妙,蓝贵文,李 辉
(1.桂林理工大学 测绘地理信息学院 广西空间信息与测绘重点实验室, 广西 桂林 541004;2.桂林旅游学院,广西 桂林541004;3.桂林理工大学 南宁分校,广西 桂林 530001)
采用信息技术来推进社区信息的高效管理和现代化建设,是社区步入高质量、高台阶的现代化生活水平的重要标志[1]。在城市中,街道办、社区要做好对各类人员的管理及服务,最需要弄清楚的问题就是某个(类)人住在哪里、某间房子或某个区域住了什么人,即常说的要做到“以人查房、以房查人”。传统的手工记录、脑力记忆、手工制作报表等管理和服务方式,无法满足当今城市中社区管理的需求[2]。利用GIS技术,设计社区居民管理信息系统,为管理者提供人员信息查询、分析及可视化功能,是社区管理模式的发展趋势[3]。本文提出了一种基于ArcGIS Engine的社区居民信息系统解决方案,以实现基于“人、房互查”模型为目标,利用采集、存储、管理、运算、查询、分析和显示地理数据的技术手段,设计实现了一个社区居民信息系统原型,探索实现科学化、可视化及高效率社区居民信息管理可视化应用平台的技术思路。
为使开发者更加符合自然行为和人的思维方式去组织数据,实现更精确地对现实世界进行模拟[4],本文采用了ArcGIS的Geodatabase数据库技术,以面向对象的管理模式来统一组织空间要素的空间数据和属性数据。在Geodatabase数据库中,空间数据是按 Geodatabase、Feature Dataset、Feature Class 3层结构组织管理的。例如,新建一个楼栋的空间要素类,其数据结构定义如表1所示。其中,设计楼栋编号为特殊字段,以便通过要素关联居民属性信息及住户房产信息。
表1 楼栋要素数据结构定义
从广义上讲,居民属性信息包括以单个居民为单位的属性信息和以住户为单位的属性信息。
社区居民信息系统的构建是以居民和住户房产信息为主要管理对象,因此,居民和住户房产信息的数据组织设计关乎整个系统运行并且影响管理效益。在Geodatabase地理数据库中,居民属性信息是按Geodatabase、Table两层结构组织管理的,其主要的居民属性信息表有自然人基础信息、住户房产信息和特殊类别居民人口信息(包括党员、重点人员、需关护人员、退休人员等)。其中,住户房产信息和特殊类别居民信息分别通过住户编号和身份证号与自然人基础信息关联,它们的关系模型如图1所示。
在系统数据库设计过程中,通过Access数据库作为系统的居民信息数据库基础,不仅实现了空间要素的空间数据部分与属性数据部分的一体化管理,还可以通过特殊字段,将空间要素数据与居民属性信息数据关联,从而实现通过空间要素去管理它所包含对象的信息,达到信息可视化管理的目的。
图1 实体关系模型
由于住宅空间要素所对应的居民类别结构复杂、所包含的居民人数多,很难直接将居民信息以属性值的形式存放在住宅空间要素中,而且会影响到居民数据库的安全性。因此,通过空间要素的特殊字段,关联居民信息数据库中的居民信息表,从而间接达到操作和管理个人地理数据库的目的。一般情况下,一个空间要素只包含了存储该要素的属性字段,其所代表的信息实在有限,不能够去虚拟现实存在的实体。因此,通过特殊的关联字段,从逻辑上讲,扩展了空间要素的表现能力,此时的空间要素不再是简单的矢量图形要素,而是具有丰富信息的复杂对象。如图2所示,通过楼栋编号构建了一个唯一的楼栋要素复杂对象,它除了具有空间要素自身的楼栋地址、楼层数等属性,还附有各类居民的属性信息,从而实现空间要素数据与居民属性数据的一体化。
图2 空间要素数据与居民属性数据的一体化设计
社区居民信息系统功能模块设计如图3所示。
“人、房互查”模型是指社区管理者根据查询需求选择通过居民查询住户房产信息,即“以人查房”方式,或通过住户房产信息查询居民,即“以房查人”的方式进行居民信息高效查询的过程。
图3 社区居民信息系统功能模块
“以人查房”包括居民信息的模糊查询和精确查询,主要通过数据库访问对象(OleDbConnection对象、DataTable对象、OleDbCommand对象、OleDbDataAdapter对象等)查询到居民信息,然后根据返回的楼栋编号,利用DataSet对象、IFeatureLayer对象、IQueryFilter对象、IFeatureCursor对象从要素集中查询出相关的住户房产信息及楼栋要素信息,并将要素在地图中高亮显示出来[5]。
“以房查人”是传统空间查询的升级,除了可以查询空间要素自身的属性信息,最主要的是能够查询包含在该要素中其他对象的属性信息,如居民的属性信息及住户房产信息。它是根据用户设置的选取要素方式(主要有点选择、矩形选择及多边形选择),选择感兴趣的空间楼栋要素,以查询出居民属性信息和住户房产信息的过程。该查询主要通过ArcGIS Engine的Geodatabase、Carto、Geometry等 类 库,以 及ISpatialFilter接口、IQueryFilter接口和IFeatureLayer接口来完成的。此外,“以房查人”是一个与地图视图交互的过程,因此该功能是通过MapControl控件的OnMouseDown事件和OnDoubleClick事件实现的。“人、房互查”的实现如图4所示。
本文所构建的社区居民信息系统是采用Visual Studio 2010作为集成开发环境,以C#为第一开发语言,以ArcGIS Engine 10.0高级GIS组件为二次开发工具,以ArcGIS提供的Personal Geodatabase为系统数据库,以ADO.NET技术为底层数据库访问技术进行开发的居民信息系统。系统功能可分为传统信息系统所具有的基本功能和ArcGIS Engine提供的GIS功能2部分。
图4 “人、房互查”的实现
信息系统基本功能包括居民属性信息查询、编辑、更新、统计分析、信息输出、系统维护等[6,7]。实现这些功能的主要是通过ADO.NET数据访问类来完成,包括数据提供者对象(Connection、Command、CommandBuilder、DataReader、DataAdapter)和数据库用户对象(DataSet、DataTable、DataRelation)[6]。此外,使用SplitContainer、TabControl、ToolStripStatusLabel控件来实现系统界面的布局,还使用ComboBox、ListBox、RichTextBox等控件实现系统其他相关功能。
系统的GIS功能负责社区内地理空间数据的管理,实现地图视图控制(如地图的放大、缩小、平移、变更图层显示顺序和显示开关控制及标注功能)、空间要素编辑、地图制图(添加地图要素,如地图标题、指北针、比例尺、图例、网格等图形要素)及输出、鹰眼等[8,9]。主要通过添加ArcGIS Engine中的MapControl、ToolbarControl、TOCControl、PageLayoutControl、SymbologyControl等GIS可视化控件,并调用相关接口及方法来实现的。例如,空间要素编辑是使用IWorkspaceEdit中的StartEditOperation方法和StopEditOperation方法来实现要素编辑的开启和关闭,使用接口IFeatureClass来添加新要素以及使用接口IFeature的Delete方法来删除空间要素[9]。使用Iannotate LayerPropertiesCollection接口和IAnnotationProperties接口实现地图的标注功能。
运行系统并加载社区数据库,其界面效果图如图5所示,它主要由菜单栏、工具栏、图层显示控制栏、地图视图窗口、地图制图窗口、鹰眼窗口、状态栏等组成,提供社区内空间数据和居民信息属性数据的查询、显示、更新及输出等功能,基本满足社区居民信息的科学化、高效率和可视化管理。
图5 社区居民信息系统运行界面及系统部分功能
本文结合组件式GIS二次开发技术,提出了社区居民信息系统实现居民信息高效及可视化管理的技术路线。以ArcGIS Engine二次开发为例,探讨了“人、房互查”模型与GIS相结合技术的实现过程,说明了在C#环境下,选择功能强大的可视化控件作为二次开发组件,由此开发的系统具有低成本、开发周期短、可拓展性好等特点。实验表明,本系统能够较好地实现社区地图的显示、“人、房互查”与居民信息管理、输出等功能,帮助了社区居民信息的科学化、高效率管理,为社区的信息化建设奠定了基础。
[1]周德明,吕耀怀.虚拟社区:传统社区概念的拓展[J].湖湘论坛,2003(1):68-69
[2]蓝永乾.大庆市社区管理信息系统设计与实现[D].长春:吉林大学,2012
[3]王辉.基于GIS的住宅小区信息管理系统[D].大连:大连理工大学,2005
[4]郭瑞隆.基于ArcEngine的三维居民信息系统的建立[D].西安:西安科技大学,2011
[5]朱振华,侯敏.基于ArcEngine的基础地理信息系统的设计与实现[J].地理空间信息,2011,9(1):88-90
[6]刘仙桃,李道兵.基于C#.NET的Access数据库创建与访问[J].电脑编程技巧与维护,2011(6):52-54
[7]王志恒,杨国东,吴琼,等.基于ArcGIS Engine的虚拟校园信息管理系统的设计与实现[J].地理信息世界,2008(3):80-84
[8]毛晓利,刘智勇,毛洋,等.基于ArcEngine的白水县苹果信息管理系统设计与实现[J].西北林学院学报,2012,27(3) :203-208
[9]吴冬琴,梁明,厉保军.基于ArcGIS Engine的小区物业管理系统的研究[J].技术与创新管理,2010,31(1):111-114