基于ArcGIS Engine对警车实时调度平台的开发

基于ArcGIS Engine对警车实时调度平台的开发

摘要:在地理信息系统发展飞速发展的今天,越来越多的行业开始使用GIS来分析解决问题。近年来恐怖势力有所抬头,安全形势不容乐观,且犯罪案件的发生具有随机性,传统的调度方式已经无法满足警方快速反应的需求,为了实现实时调度功能,本文着重阐述了空间查询、实时定位、路径分析技术的实现方法,研究如何利用ArcEngine二次开发警务调度平台。

关键词:GIS;实时调度;二次开发

1、引言:为了满足当下快速出警的需求,许多大城市的警务部门开始使用警车调度平台,作为打击犯罪分子的高科技武器,但目前在运行的警务平台大多以底层开发为主,缺点是开发周期长,技术实施难度大,维护成本高,使得许多偏远地区的警务部门,由于资金紧张、技术缺乏而难以实现。本文介绍的利用ArcGIS Engine进行二次开发,使用C#作为开发语言,其优点是可以快速搭建系统框架,大幅度缩短软件开发周期,借助ArcGIS提供的地理数据分析接口,封装了空间查询、缓冲区分析、路径分析等一系列功能,为实现警车的实时调度而服务。通过这种方法做出的产品功能完备,价格低廉,维护简单,兼容性好,可扩展性强,尤其适

合中小城市日常的工作需求,较大型警务平台其性价比更高。 2、总体设计

2.1需求调查。进入21世纪,国内城市化步伐加快,城市的安全形势却不容乐观,导致出警范围和出警强度进一步加大,但许多偏远城市的警务部门对于警力调度还停留在初级阶段,即利用纸质地图进行人工查询定位,这种方法效率低、误差大,很容易因为人为判断失误而延误出警时间,造成交通瘫痪、公民财产损失等一系列严重后果。因此,本文总结了警务部门存在的现实需求:①在电子地图上,实时更新警车位置。②当发生案情时,能快速对案发地点进行定位。③根据具体情况,制定出警最优路线,辅助指挥者实时调度。 2.2开发平台。警务实时调度系统选择成熟的win7操作系统,ESRI的ArcGIS Engine9.3为开发平台,Visual Studio 2008为开发环境,C#为开发语言。ArcGISEngine是完整的嵌入式GIS组件库,可在多种编程语言中调用接口,它的核心是由ArcObjects一组开发包组成,可将ArcGIS的功能嵌入到其他应用软件中,这样的程序安装时就不需要安装ArcGIS专业软件,极大地减轻了警务部门的运行负担,因此适用于警务实时调度系统的二次开发。 3程序设计及实现

3.1程序界面设计。在实现系统分析功能之前,首先应搭建地图显示框架,通常有两种方法,一种适合于功能要求

较高的程序编写,所有的控件由自己进行代码编写,一般用于底?涌?发;另一种就是利用ArcEngine提供的各项控件,快速搭建界面,具体如下:在VS2008中,我们可以新建一个Windows窗体项目,然后从ArcGISWindowsForms选项卡向其中添加ToolBarControl、TOCControl、MapControl控件,并分别设置属性窗口中的Dock为Top,Left,Fill,完成窗口布局,即顶部为工具栏、左侧为图层列表,主工作区为地图控件,如图1所示。

ToolBarConrol控件提供了许多Commands和Toolsets,实现对地图控件的操作,常用的有Open(打开地图文件)、Zoom in/out(放大缩小)、Pan(拖动地图)等,我们可以根据自己的需要添加相应的命令和工具。除此之外,ArcEngine提供了一种模板―MapControl Application,其中已经嵌入各种开发所需的基础控件,便于我们快速进行其他功能的开发,不但节省了时间,也降低基础出错率,本文就采用这个模板作为软件界面。 3.2添加图层

在ArcGIS中地图是由点、线、面三种类型的矢量数据组成,这些要素类以Shapfile的格式存储在地理数据库Geodatabase中,我们可以通过ArcCatalog对地理数据进行管理,将所用的要素类放在一个要素数据集中,统一数据标准。为了满足警车的定位调度功能,需要Map添加含有地标、

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4