后勤资产管理信息系统的图形化实现技术
2010-02-08王斌斌刘亚敏
王斌斌,历 达,刘亚敏
(1.河南城建学院计算机科学与工程系,河南平顶山467036;2.平高集团有限公司,河南平顶山467001)
0 引言
高校后勤工作是学校工作的重要组成部分,过去所使用的旧行政性管理方法已不能适应社会主义市场经济和高校事业的发展。后勤部门经常涉及到空间数据的管理,如建筑物设计图纸、房屋数据资料、设备资料等资产管理。但目前常用的商用数据库系统大多难以对空间数据、图形信息进行有效管理,因此,许多单位仍依靠人工管理这部分数据。基于SVG图形的后勤资产管理系统正好弥补了一般商用数据库管理信息系统的不足,实现了图形数据管理和属性数据管理的结合,从而为企事业单位后勤部门资产数据管理的自动化提供了条件。
1 图形化实现内容
系统采用最新的文本式矢量图形描述语言SVG格式,将教室房产资料图形化,重点研究网络平台中的一些图形技术和数据输入输出、利用ASP.NET和SQL对数据进行管理查询、空间分析、统计分析、辅助决策。其主要工作内容和取得的成果包括以下几个方面:
1.1 SVG矢量图形技术
利用SVG技术,将CAD图形使用SVG方式表达出来,并且实现SVG在页面进行操作,这主要是因为:一是SVG将成为万维网协会(W3C)的标准之一,遵从W3C的标准肯定将来也会成为未来网络图形格式的标准,虽然目前很多WebGIS厂家都定义了自己的矢量图形格式,但是在将来GIS领域也一定会有一个统一的图形标准,而且这个标准也应该就是根据W3C的标准来制定。二是SVG本身提供了对图形操作的接口,这样可以尽量减少服务器和页面间的数据传输,使得一些基本的用户操作可以在客户端进行,这样将大大减少服务端的负担,同时也使得用户操作数据时,不必完全依赖于网络。
1.2 数据输入输出功能
输入功能是用各种方法采集数据,将数据转换成系统可用的形式并进行必要的编辑以便于管理。空间数据的输入主要通过数字扫描实现。各种属性数据通过键盘直接输入。此外,由其他软件产生的各种数据,如CAD图形文件、数据库DBF文件等经格式转换后也可被系统接受。输出功能是将查询、检索或统计分析所形成的各种建筑物地图、专题图以及文字、二维表格等在屏幕上显示或通过打印机、绘图仪等外部设备输出。
1.3 查询检索功能
用户还可以对原始数据以及经复合分析后形成的二次数据进行多条件、多范围的检索。检索项可以从要素属性表或已建立的相关关系外部属性中取得。表达式可由操作数、逻辑运算符和逻辑连接符组成。各种查询检索结果通过文字、图形、图像或表格的形式提供给用户。
1.4 数据统计分析功能
统计分析功能可根据需要自动统计指定范围内设施设备的数量、长度以及各设施的变化情况,以文字、表格或统计图的形式提供给用户。
1.5 辅助决策功能
通过系统提供的各种查询检索功能和分析功能,后勤部门可以全面准确掌握校区内各种设施资产的基础信息和运行状况,进而为校区管理提供快捷的信息服务和决策依据。根据学院后勤资产发展的需要和安排,以后还要不断完善该系统,将增加管网子系统,与校园各种管理系统进行整合,充分发挥校园网的作用,为校园教学管理、后勤管理、行政决策等提供及时、准确的信息服务。
2 后勤房产图形化转换策略
房产地图化首先要把后勤部门提供的CAD地图转换为SVG图形以便于在地图上添加新的建筑物。接下来介绍一下CAD地图如何转换为SVG图形。
整个后勤房产地图是由河南城建学院后勤开发公司提供的西校区已有建筑物图纸。将CAD地图通过Acme CAD Converter软件转换为SVG格式。该工具是一款优秀的多功能图形工具软件,它可以浏览不同版本的DWG和DXF文件(R2.5-R2002),并可以将CAD图形文件批量转换为GIF、JPEG、DXF、DWG、SVG、HPGL PDF等格式,快速将CAD图形文件输出为矢量图形。但是在转换过程里会出现一些偏差,通过如下方式来校正。
2.1 坐标系统
不管是AutoCAD中的对象还是SVG中的图形都是通过坐标定位的。但是两者的坐标系统是不同的,AutoCAD的世界坐标系的原点在屏幕的左下角,X轴的正向朝右,Y轴的正向向上。SVG的坐标系的原点在初始视口(屏幕)的左上角,X轴的正向朝右,Y轴的正向朝下。两者均可以定义自己的坐标系。在DXF文件向SVG文件转换时,为保证图形显示正确,应将所有的图形进行坐标矩阵变换。在SVG中使用下面语句:<g transform=”matrix(1 0 0 21 0 600)”></g>。
2.2 文字
对所有图形进行了坐标系统转换,但文字不同于其他图形,转换之后会出现了反转,这时应先将文字相对于原所在位置的基线进行镜像,这样能保证文字按正常状态显示。转换之后,可能出现SVG中的中文不能显示的情况,这是因为SVG有3种编码形式:ISO2885921(ASCII)、UTF28和UTF216、ISO2885921(ASCII)不能直接使用汉字字符,UTF28和UTF216是Unicode形式的编码,UTF28支持多语种,每一个ASCII字符使用一个字节来表示,对于其他字符使用三个字节来表示。UTF216对于任何一个字符都是使用两个字节来表示,这两种编码能正常显示汉字。在编程时,如果直接写SVG文档,则文档使用的是ASCII码,所以不能正常显示汉字。解决的方案是:在SVG中,需要将中文字体名称进行“国际化”,即将汉字字体名称改为英文名称,部分字体对照如表1所示。
表1 部分汉字字体与英文名称对照表
已转换的SVG西校区地图如图1所示。
图1 河南城建学院西校区发展规划
3 图形的移动和缩放
房屋在地图上的坐标一但生成后也可以更改其位置,于是要求实现鼠标操作房屋图形的移动和图形的框选放大功能。
3.1 功能说明
用户如果选择了移动房屋功能,按鼠标左键并且一直拖动,则认为是在移动房屋,那么在用户释放鼠标时,就可以动态地改变房屋图形的显示位置。用户如果选择了框选放大功能,可在用户中选一个矩形区域,则会将此矩形内的图形放大并显示在整个区域。
3.2 功能的设计与实现
用鼠标来移动图形。此方法也通过规定视口的坐标范围(viewbox)来实现。首先要在onmousedown中存入鼠标的起始位置;其次在onmouseup中存入鼠标的最后位置;最后,通过计算得到下一步需要挪动的地图距离从而生成新的viewbox和中心点值并设置其属性。流程如图2所示。
图2 鼠标移动图形的流程
可伸缩矢量图形支持鼠标事件,鼠标的操作实际上就在SVG图像上进行,所以首先要在SVG图像中加载鼠标的事件,使上面的鼠标事件得到相应,并利用可伸缩矢量图形的视口的坐标范围功能实现。系统的框选并放大功能,也是要通过使用viewbox来实现。首先要在onmousedown中存入鼠标的起始位置;其次在onmouseup中存入鼠标的最后位置,从而得到一个矩形;再次,根据当前的视图大小以及用户选中的矩形,得到放大比;最后,判断出所得比例是否越界,在这里要求比例不能大于20倍。根据比例生成新的视口坐标范围和中心点值,并设置属性,其流程如图3所示。
图3 鼠标缩放图形的流程
利用SVG支持鼠标事件,而且由于鼠标操作其实就是在SVG图像上面进行,所以首先要在SVG图像中加载鼠标的事件,使得鼠标事件分别响应上面的鼠标事件功能。
4 结束语
本文设计了一种基于ASP.NET与SVG技术的后勤资产管理信息平台解决方案。通过对该方案具体实现的研究,实现了建筑物地图的生成,为新校区的规划提供了参考依据。通过ASP.NET实现了与数据库中相应的数据表的连接,执行查询命令、利用数据集,把内容调用到生成图形的数组参数中,从而生成柱状或饼状分析图。各种图形、图像、文字、数据、表格都可通过原始数据处理子系统处理后输入,也可以通过客户端的Web浏览器输入用户名和密码登陆后添加,并可将各种CAD图形文件转变为系统可以接受SVG的格式,不断更新数据库,以保证数据的现时性。
[1] 汪意革.基于SVG的WebGIS地图搜索研究与实现[J].计算机系统应用,2004(1):34-35.
[2] 陈首华.如何利用ASPNET技术的Web应用三层设计模型[J].微型电脑应用.2002(3):26-28.
[3] Narcisio Tumushabe,TAN Guan-zheng.Anoverview of a authentication security features in ASP.NET[J].Journal of Shenyang Univercity of Technology,2003,25(3):250-254.
[4] 李建强,郑广天,翟儒,等.高等院校房产管理信息系统网络化的设计与实施[J].北方交通大学学报,2003(12):86-87.