进入三山科技半个月里面,第一份工作是做电子地图模块。整理相关的需求分析和解决方案。
电子地图设计
一、模块需求
1、 电子地图基本功能:放大、缩小、漫游,支持鼠标滚轮。根据不同比例显示不同要素。
2、 当接受到报警信息后,关联地图时系统自动将报警的镜头定位并闪烁显示
3、 双击地图上镜头可浏览当前镜头实时图像,右键选择回放按钮可回放当前镜头的录像
4、 提供可根据关键字搜索并定位镜头功能。
5、 在电子地图上的各镜头均可显示当前镜头、路由器、无线设备的状态,如是否录像,是否连接等
6、 可根据线、矩形、多边形形从地图上框取多个镜头同时显示,并可将这些镜头编组。
7、 显示系统网络结构图,并显示图中各元素的状态
8、 支持房屋内镜头显示
9、 数据导入导出地图元素编辑,如镜头、路由器等设备增加删除操作
二、需求分析:
需求1:使用SharpMap开源电子地图项目,实现“放大”、缩小、漫游、支持鼠标滚轮、和根据不同的比例来显示地图。
需求2:该需求有两个技术难点:报警;镜头闪烁。
l 报警:由于现在eVisuals使用的Composite Application 框架,该框架实现的观察者模式可以方便的订阅报警事件,所以对报警模块订阅报警事件,电子地图可以获知报警信息。
l 镜头闪烁:由于SharpMap使用的图层的渲染技术,所以不能使用swf等格式让镜头图片自动闪烁,基于这样的理由,现在暂时使用计时器(Timer)来定时对镜头进行更换图片。
需求3:录像和回放属于监控模块的设计,所以在这里,电子地图通过发送镜头的录像和回放事件。让监控模块去执行录像和合回放操作。
需求4:通过对镜头表(Cameral)中关键字的查询,筛选出镜头的ID,发送给电子地图的定位事件来完成,所以电子地图针对该需求需要设计定位事件或者定位服务。
需求5:该需求有待讨论
需求6:该技术还有待研究。
需求7:创建相应数据表(T_Line)来保持两个点的连线信息。在图层中创建一个Line层。来实现对线条的链接。
需求8:对图层进行分比例显示。当电子地图系统屋内地图时候,显示图层中的镜头。
需求9:对于图层数据,所有数据都通过MSSql来存储。当需要添加 Shape文件图层时候。对其进行转换。主要使用MSSpatial开源项目。