基于ArcObject实现地理信息查询及车辆管理系统之通信论文

所属栏目:通信论文 发布日期:2012-02-09 09:35 热度:

  摘要:本文主要采用Dephi+ArcObject的组件式开发模式,实现地理信息查询以及车辆管理方案。
  关键词:Arcobjects,信息查询论文,空间分析论文,车辆监控
  
  一、Arcobjects简介
  ArcObject是ESRI公司Arcinfo系列软件的底层组件集,是基于COM技术所构建的一系列COM组件集。虽然AO是依附在ArcGISDesktop产品中的软件开发包,不能开发独立的应用;但对于定制强大的GIS编辑于分分析功能的项目来说仍然是不二的选择。使用AO时我们只需要利用ESRI提供的这些AO组件来进行积木式的组装任务,按照应用需求将这些底层功能组装集合成一个更强大的COM对象。AO是基于微软的COM技术来构建的,因此它的开放性和扩展性很强大,可以有VBA、VB、VC++、DEPHI等多种支持COM标准的开发工具,而扩展性是指AO组件没有提供的功能,如需要定义一种新的数据格式,你就可以利用COM技术来写自己的COM组件,对AO组件库进行扩展补充。ArcGIS软件具有良好的系统开放性,可与其他系统实现真正的无缝集成
  二、开发实例论文
  笔者参加的“石林地理信息查询系统”是GIS和MIS相结合的一个应用系统,对数据库操作较多,我们采用了Dephi+AO的组件式开发模式。即采用ArcGIS、MicrosoftSQLServer2005、Delphi7.0进行系统开发工作。实践证明这种方法给我们的开发带来了很大的方便性和可操作性。
  1、 系统简介
  石林地理信息查询系统以信息查询为主的系统,图形的基本操作:放大、缩小、平移、图层可见性选择;查询功能:图形对象的属性查询、点查询、线查询、查询最近目标等;最短路径分析,空间分析:主要是缓冲区分析;距离和面积量测;图形上加点、加线、加多边形、注记文字。车辆监控、跟踪当前车辆、定越界报警、车辆历史轨迹回放等。系统功能完备,界面友好,操作方便,具有无级放缩,分层显示、地理信息查询、显示位置准确等特点。
  在每辆车上配备GPS终端接收机,信息中心主机通过GPRS网络或Internet网络发送控制命令和接收来自车辆的各种数据(包括坐标信息、工作状态等信息),信息中心不断的把这些数据写入数据库(MicrosoftSQLServer2005数据库),车辆信息放在数据库中。从而达到对车辆轨迹进行追踪分析。
  安装在车辆上的车载终端由先进的GPRS通信模块、GPS卫星定位系统、卫星天线以及汽车防盗器接口、数据接口、防破坏自动报警和遥控熄火电路所组成。本系统兼容GSM/GPS系统功能,如无GPRS网络,可以自动切换在GSM方式进行数据传输和报警。
  2、软件功能
  1、查询
  点状物查询,线状物查询、面状物查询、以点为中心查询、圆选择查询、矩形选择查询、
  多边形选择查询、地名查询、查找最近目标等
  2、 最短路径分析(A点->B点)
  //最短路径查询
  RoadQueryForm.ManualDock(PageControl1,RoadQueryForm,altop);
  PageControl1.ActivePageIndex:=PageControl1.PageCount
  //查询结果显示
  RoadQueryForm.Show;
  鼠标点击法:在图上的道路的端点任意点击两点,得到分析路径如下图(图1)(图2):
  
  (图1)(图2)
  3、空间分析
  缓冲区分析:点缓冲分析、线缓冲分析、多边形缓冲分析。
  //多边形缓冲分析';
  mainform.ADOConnection1.DefaultDatabase:='StoneForest';//选择数据库
  /***********************/
  selectcarform.ADOQuery2.sql.add('selectCarID,CarNO,Telphonefromdbo.carlistdbo_carlist');
  selectcarform.DBGrid1.Columns[0].FieldName:='CarID';
  selectcarform.DBGrid1.Columns[1].FieldName:='CarNO';
  selectcarform.DBGrid1.Columns[2].FieldName:='Telphone';
  //查询结果显示
  selectcarform.show;
  自定义点缓冲区分析:先选择要查询的图层,在工具栏的工作层的编辑框选择,然后在地图上任意点击一下,就会出现输入缓冲距离的对话框,输入距离后,地图就移动到你点击的点位置,就会在图上画的点外画一个圆圈为你的选择范围,并且高亮显示这个范围内的工作层的所有对象(点或线),属性和数目显示在对话框中。还有就是自定义线缓冲区分析、自定义多边形缓冲区分析。如下图3
  
  (图3)
  4、车辆监控:在电子地图上显示当前车辆运动轨迹以及实时、历史的状况:(坐标、所在的位置、定位状态、采样时间等)。
  
  (图4)
  withmainform.adoStoredproc1dobegin
  ProcedureName:='SlCarInfoQuery';//调用查询参数
  /***********************/
  Parameters.ParamByName('@CarID').Value:=trim(selectcarform.DBGrid1.Fields[0].AsString);
  ExecProc;//执行查询
  cardisform.Xcoord.Caption:=mainform.adoStoredproc1.Recordset.Fields['Xcoord'].Value;
  cardisform.Ycoord.Caption:=mainform.adoStoredproc1.Recordset.Fields['ycoord'].Value;
  cardisform.driver.Caption:=mainform.adoStoredproc1.Recordset.Fields['driver'].Value;
  cardisform.Position.Caption:=mainform.adoStoredproc1.Recordset.Fields['position'].Value;
  cardisform.DateTime.Caption:=mainform.adoStoredproc1.Recordset.Fields['datetime'].Value;
  cardisform.carInfo.Caption:=mainform.adoStoredproc1.Recordset.Fields['note'].Value;
  //查询结果的显示
  cardisform.show;
  5、车辆回放轨迹效果:
  车辆行驶轨迹的回放、查询、维护:所有车辆终端发送过来的GPS定位数据在数据库中都有轨迹记录.数据库管理模块提供了工具可以对这些数据进行查询及维护.
  地图上完全清晰地显示车辆全程行车轨迹。车辆历史轨迹回放:用户利用该功能在某个时间段里该车所走的路线,在回放中用户可以选择“车辆、时间段、回放速度的快慢”等。如下图5
  //请选择你要跟踪的车辆,数据库记录
  ADOTable1.TableName:='dbo.CarGPS';
  ADOTable1.Open;
  withselectCarformdobegin
  /***********************/
  ADOQuery1.sql.add('SELECTmax(ID)FROMCarGPS');
  /***********************/
  MaxID:=ADOQuery1.Recordset.Fields[0].Value;
  /***********************/
  ifselectcarForm.DBGrid1.DataSource.DataSet.RecNo=1then
  StringGrid1.rows[1].Clear
  elseifselectcarForm.DBGrid1.DataSource.DataSet.RecNo=2then
  StringGrid1.rows[2].Clear;
  readroadlinecoord('data'+trim(selectcarform.DBGrid1.Fields[0].AsString)+'.txt');
  tracking:=true;
  iftrackingthenclpt:=roadpoints.Item(0);
  iftrim(selectcarform.DBGrid1.Fields[0].AsString)='车牌号'then
  tl.AddEvent(clpt,7)
  elseiftrim(selectcarform.DBGrid1.Fields[0].AsString)='车牌号'then
  /***********************/
  zkmmap.CenterAt(clpt.x,clpt.y);//居中显示
  zkmmap.FromMapPoint(clpt,tipX,tipY);//移到当前车辆位置
  
  (图5)
  6、结语
  该系统综合运用了GPS卫星定位技术、GPRS无线网络传输技术、GIS应用系统,将三者结合应用在车辆导航和监控调度中。将GIS应用系统开发一般原理(查询、空间分析)与车辆导航和监控具体实际相结合,然后提出了基于ArcGIS的地理信息查询及车辆管理解决方案。
  参考文献
  [1]蒋波涛编著ArcObject开发基础与技巧——基于VisalBasic.NET武汉大学出版社2006
  [2]韩鹏等编著地理信息系统开发—ArcObjects方法武汉大学出版社2005
  [3]胡志杰王长琼基于ArcGIS的物流配送系统集成研究武汉理工大学物流工程学院
  [4]廖凌松,黄杏元.基于Arclnfo的开放式组件GIS的开发探讨.计算机应用研究,2002年第二期.
  [5]2009BorlandSoftwareCorporation-Delphi帮助文件

文章标题:基于ArcObject实现地理信息查询及车辆管理系统之通信论文

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/tongxin/11191.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3