mapinfo软件下载实现交通线路信息集成

您所在的位置:网站首页 mapinfo软件下载 mapinfo软件下载实现交通线路信息集成

mapinfo软件下载实现交通线路信息集成

#mapinfo软件下载实现交通线路信息集成| 来源: 网络整理| 查看: 265

  如今越来越多的人拥有汽车等交通工具,这给交通管理带来新的挑战。为了保证交通的畅通,必须随时了解交通线路的状况、尽快解决交通阻塞问题,但传统的管理由于软硬件的原因不能实现对交通线路的实时监控。

mapinfo软件下载实现交通线路信息集成

mapinfo软件下载实现交通线路信息集成图一

  本文提出了在VB环境下,利用美国MapInfo 公司的桌面地理信息系统MapInfo ,把GIS(即地理信息系统)的概念引入交通指挥管理中,实现各种同交通管理相关的信息集成,最终表现为一张数字化地图,以此实现对交通线路的实时监控。

  2 MapInfo

  2.1 MapInfo的优点

  MapInfo是美国MapInfo 软件公司开发的一个面地理信息系统,它具有GIS系统一般功能,诸如地图数据表示、地图编辑、地图分析和地图输出等。

  MapInfo的优点有:

  (1)丰富的图形元素、编辑工具及图层技术。

  (2) 具有OLE自动方式,可实现与VB的无缝集成。

  (3)提供了MapBasic这个二次开发工具。

  (4) 提供了强大的数据库管理功能,实现在地图上管理数据库。

  因此利用MapInfo处理交通线路,可方便地添加所需的信息(诸如报警亭编号、历史记录等),实现相关数据的集成,将数据的空间关系充分体现出来,便于路况的监控。

  2.2 二次开发语言MapBasic

  MapBasic是在MapInfo平台上开发用户定制的应用程序的理想编程语言。通过使用MapBasic进行二次开发,可扩展MapInfo的功能,诸如定制用户界面 、添加菜单条和选项、添加新的功能和函数、实现程序的自动重复操作并使MapInfo与其它应用软件(特别是由VB开发的,因为MapBasic本身是一种强健的类Basic语言)集成。因此在实际开发中较多地用MapBasic编写模块。

mapinfo软件下载实现交通线路信息集成

mapinfo软件下载实现交通线路信息集成

  3 VB与MapInfo的集成

  3.1客户/服务器方式

  客户/服务器方式指客户机运行用户服务请求程序,并将这些请求传送给服务器,服务器管理数据资源,响应处理客户机发出的请求,并将结果传送给客户机。服务器被程序化,可接受并响应同时来自被连接客户机的多个请求。这些请求可能排队,按次序等待服务;或者同时处理几个客户机的请求。客户机向服务器发送请求之后,客户端程序将独立工作,直到它需要来自服务器端的支持为止。

  VB与MapInfo都支持OLE Automation方式。OLE Automation方式,实际是一种编程接口,通过它应用程序可以访问在另一个应用程序中实现的对象,提供编程对象给其他应用程序的称“服务器”,访问这些对象的应用程序称“客户机”。这里利用OLE Automation方式,在VB应用程序中将MapInfo作为一个对象来使用,编程调用MapInfo对象,实现对交通线路信息的集成。

  3.2 VB与MapInfo的接口

  在VB应用程序里实现对另一个应用程序(MapInfo)的访问,利用前面所提到的OLE Automation技术,把MapInfo作为服务器,VB应用程序作为客户机,可以无缝地实现集成MapInfo对象于VB应用程序中。

  具体实现步骤如下:

  (1)首先定义两个对象:MapInfo与theResponde,即在程序里添加两行:

  Public MapInfo As Object ‘*创立指向MapInfo的对象

  Public theResponder As Object ‘*创立本地对象,MapInfo将把信息返回给它

  (2) 然后再添加一个子程序InitializeMapInfoConnection(),用于实现同MapInfo的通信。该子程序在后台创立一个用于通信的MapInfo实例;一个本地在此VB应用程序的类MIResponder的对象的实例,即用于接受MapInfo返回应用程序信息的实例。

mapinfo软件下载实现交通线路信息集成

mapinfo软件下载实现交通线路信息集成图一

  具体程序如下:

  Public Sub InitializeMapInfoConnection()

  On Error GoTo userCancelled

  Set MapInfo = CreateObject(“MapInfo.Application”) ‘*创立MapInfo对象

  MapInfo.do “Set Application Window ” & Mapwin.hwnd

  MapInfo.do “Set Window Info Parent ” & Mapwin.hwnd

  Set theResponder = New MIResponder ‘*创立theResponde对象

  MapInfo.SetCallback theResponder

  MapInfo.do “Run Application ” + “””” + WORKDIR + “\\getarea.mbx” + “”””

  MapInfo.do “Create Menu “”MapperShortcut”” ID 17 As “&”””” + “前一视图”_ + “””” + ” ID 1002 Calling 806, ” & “””” + “改变视图” + “””” + ” ID 1002 Calling_ 805″

  ……

  thereIsAMap = False ‘*初始化,表示没有地图窗口

  mapWinID = 0 ‘*表示没有窗口

  MapInfo.runmenucommand M_TOOLS_SELECTOR ‘*激活MapInfo的选择工具

  Exit Sub

  userCancelled:

  MsgBox “系统初始化失败,请查看 MAPINFO 是否正确安装!”

  End

  (3) 现在MapInfo已成为VB应用程序的一个对象,因此可调用MapInfo对象的方法及设置其属性来实现对地图的复杂操作。

  具体程序(略)

  4 结论

  通过实现交通管理指挥系统,实践表明:该系统大大减少从底层实现图形支持系统的难度和工作量,并且界面友好、系统稳定、运行效率较高,在连接MapInfo后,对地图的操作与在MapInfo中几无差别。

  以上就是mapinfo软件下载实现交通线路信息集成的详细教学。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3