MapX技术在小区物业管理信息系统中的应用研究
2010-11-27李焕勤任永奎
李焕勤,任永奎
(1.郑州师范学院 信息技术系,河南 郑州 450044; 2.河南省通信工程局有限责任公司,河南 郑州 450003)
MapX是MapInfo公司在1996年推出的一个基于ActiveX(OCX)技术的可编程控件,它使用与MapInfo Professional一致的地图数据格式,实现了大多数MapInfo Professional的功能.MapX的主要功能有显示MapInfo格式的地图数据,支持地图的放大、缩小、平移、选择等操作,图层的自由控制,支持动态图层、自定义图层、强大的专题地图制作和简单的地理查询等[1].MapX是面向对象的地图控件,它将点、线、面等各种图形信息封装在不同的类中,每个类有各自的属性、事件和方法[2].开发人员通过实例化对象,调用封装好的属性和方法,对感兴趣的图形元素进行操作.MapX可嵌入到很多主流开发环境中,如PowerBuilder、Visual Basic、Delphi、Visual C++等,使用时只需要将MapX控件放入窗体中,通过简单的编程、设置属性、调用方法和事件,即可实现地理空间的可视化,完成空间查询、地理编码、专题分析等丰富的地图信息系统功能.因此,MapX作为代表性的GIS组件产品已经被广泛应用于GIS应用软件的开发之中[3].
本系统采用高效数据前端开发工具PowerBuilder 和Sybase数据库系统开发完成,既能使房产管理的各种数据高效、直观地显示,又能够通过相关数据库系统实现信息的查询和统计功能.在地图管理上,采用MapInfo Professional为基础的地理信息系统平台,利用MapX作为开发手段,从而实现全图形化维护、管理、查询检索功能和图形对象与属性数据的双向联动.
1 小区物业管理信息系统的设计
1.1 系统的总体设计目标
小区物业管理GIS信息系统主要用于实现对所管辖社区的房产信息和物业信息的计算机管理,建立房产信息库,基于电子地图进行直观、简便的数据检索,通过信息系统准确、详尽、实时掌握这些房产信息,提升管理手段,提高工作效率,具体包括以下两个方面[4].
(1)房产信息管理:实现以电子地图形式对各院、楼、屋等信息的管理,包括对房屋地图地理位置的描述与管理;房屋产权归属管理;社区公共设施管理等.
(2)物业管理:实现对住户日常水、电、气、暖的使用信息进行管理,包括水费、电费、燃气费、暖气费、物业费的收缴、维护、管理、统计等功能.
1.2 系统功能组成
根据系统总体目标、设计原则以及系统所要具备的项目技术内容,结合MapX二次开发平台的特点,将整个系统分成6大功能模块,分别是GIS信息管理、房产信息管理、费用信息管理、信息查询、系统维护和用户管理,每个子系统又由若干个子模块构成.
(1) GIS信息管理
通过地图工具,在地图上如实地反映小区所在地图的地理位置,并在地图上显示小区的楼房分布、社区公共设施分布与管道分布.实现地图的放大、缩小、漫游、查看、对象增减与调整、不同对象分不同图层显示等功能.
(2)房产信息管理
房产信息管理子系统通过文字列表的方式,详尽、全面地记录了系统的属性信息,能够实现对房产的基本属性信息和公共设施信息进行增加、删除、修改、查询等操作.
(3)费用信息管理
对涉及小区各种费用的管理,包括费用的核算、归类管理及收缴.
(4)信息查询管理
依据用户权限,查询不同范围的数据,并能实现由上至下和由下至上的层次查询,既可以从院区信息入手查询,也可以从业主信息入手查询,所有查询结果都能导出打印.
(5)系统维护
为系统管理员提供基本的系统维护功能,包括系统参数设置、数据备份及升级.
(6)用户管理
对系统的用户信息进行维护管理,包括部门管理、用户管理、权限管理、辖区设置及个人信息设置等.
2 系统功能的实现
2.1 地图的加载
系统中的地图可利用MapX自带的程序Geoset Manager编辑生成.在编辑过程中,将地图按类型分层: 院区信息、主题建筑、公共设施和地下管道4个图层.每个图层的图元根据其数据形态又可分为:点数据(表示单个数据位置,如车位、井盖、消防设施等);线数据(覆盖给定距离的开放对象,包括道路、上水管线、下水管线、供暖管线、电线路、消防管线、煤气管线等);面数据(覆盖给定地区的封闭对象,包括多边形、椭圆形以及矩形,例如土地绿化、小区位置、治安区划等).程序中加载地图文件的实现代码如下:
ole_map.object.Geoset = ‘..mapZMAP.gst’
string ls_inipath
ls_inipath = gs_path + ‘comm.ini’
gf_MapX_status(‘get’,ls_inipath,ole_map)
2.2 地图控件的操纵与显示控制
2.2.1 系统视图功能实现技术.
本系统的地图视图功能包括图形放大、图形缩小、图形漫游与全图显示.这些功能的实现可以利用 MapX 自带的工具Current(CurrentTool),MapX 给这些工具都赋予了相应的一个长整型的工具号,系统执行操作时调用相应的工具号即可.部分功能的具体实现如下.
(1)图形放大.既可在图上单击实现以鼠标点击处为中心的双倍放大,也可拖动鼠标拉出一矩形框,使得矩形框内图形充满屏幕显示,其代码如下:
OLE_1.object.CurrentTool=1003
OLE_1.object.Layers.Item(1).Selectable=true
(2)地图缩小.既可在图上单击实现以鼠标点击处为中心的双倍缩小,也可拖动鼠标拉出一矩形框,使得矩形框内图形充满屏幕显示,其代码如下:
OLE_1.object.CurrentTool=1004
OLE_1.object.Layers.Item(1).Selectable=true
2.2.2 图元编辑的实现技术
系统提供了对地图对象的编辑功能,通过绘图工具,使用者可以在地图图层中创建和修改图元,同时利用代码添加相应的属性.MapX提供对象创建的工具有“添加点”、“添加线条”、“添加折线”、“添加矩形”、“添加圆形”和“添加区域”,功能实现的代码在这里不再赘述.
2.3 图数互查的实现技术
GIS的一个重要功能是方便人们查询所需要的地理信息,查询类型包括根据地理实体查询它的有关属性信息,根据空间条件查询一定范围内的地理实体.系统的空间数据查询包括基于空间关系特征的查询、基于属性特征的查询以及基于空间和属性的联合查询.选择当前数据集中的任一或多个对象,就会显示出相应的属性数据,反之选择属性数据中的任一条记录,图形窗口中相应的图形数据就会高亮界示.在MapX中,图形数据与属性数据是通过ID码来进行连接的,通过ID码可以实现从图到文的查询,也可以实现从文到图的查询.采用MapX提供的Selection对象实现图数互查,具体方法是通过Selection的Item属性,返回一个Feature对象,该对象的KeyValue属性表现了选中地图对象的关键字,具体实现代码如下:
If this.object.currenttool = miselecttool then //当前鼠标工具为选择时
long ll_id,ll_count,ll_layers
string ls_name
ll_layers = This.object.layers.count
DO WHILE ll_layers >= 1
lyr = This.object.Layers.Item(ll_layers).Selection
ll_count = lyr.Count
if ll_count <> 0 then
ls_name = This.Object.Layers.Item[ll_layers].name
ll_id = long(lyr.Item(ll_Count).keyvalue)
wf_openquerywin(ls_name,ll_id)
End if
ll_layers = ll_layers - 1
LOOP
End if
2.4 系统主要功能界面
用户登录成功后,就进入了主界面,如图1所示.
整个界面的布局共分3个部分,左侧是系统菜单栏,用户可以从这里进入系统的所有功能模块.中间是结果显示窗口,右侧是地图控制工具窗口,有图层控制工具与地图操作工具、地图图例,通过这些工具可以对地图进行操作控制[5].
图1 系统主界面Fig.1 Interface of system
通过电子地图浏览方式,能直观地管理所辖的所有院区、楼房、公共设施和地下管道,并能快捷定位院区,不仅能查看院区的整体概貌,还能层层查看院区的详细信息,如楼房信息、分户信息、交费情况等.系统的图层控制功能可用显示(选择想看到图层)、选择(可选择具体图层进行信息查看)和编辑(可选择具体的的图层进行编辑)3种方式来实现.图2是对院区的地下管网进行编辑的界面.
图2 地下管网图层界面Fig.2 Layer interface of the pipeline net system
3 结束语
本文以省直物业公司物业管理系统为例,介绍了利用MapX的软件开发方法,实现了GIS和MIS无缝结合.目前,该系统已经交付用户使用,运行情况良好.
参考文献:
[1] 于梦琦,杨宏业,侯国成. 组件技术MapX在车辆监控系统中的应用[J]. 微计算机信息,2008(24):258-259.
[2] 熊燕,柯栋.MapX技术在列车监控管理系统中的应用研究[J].长江大学学报:自然科学版,2009(2):271-272.
[3] 刘光.地理信息系统二次开发实例教程[M].北京:清华大学出版社, 2004:265-269.
[4] 路霞,孙吉贵,李海涛. 基于GIS的物业管理信息系统的设计与实现[J].计算机应用与研究.2006(12):188-191.
[5] 薛辉. 基于MapX的组件式GIS开发研究[J].陕西师范大学学报,2008(11):42-43.