首页 理论教育物流可视化技术应用-物流可视化

物流可视化技术应用-物流可视化

【摘要】:MapBasic最大的局限性在于,它没能与某一实际的应用相结合,完全脱离管理信息系统而独立运行,缺少了与实际管理中相关功能的结合点。与传统GIS专业性开发环境相比,像MapX这类组件式GIS系统的出现可以说是一种质的飞跃,它小巧灵活、开发简捷、价格便宜,用MapX开发的GIS系统运行速度快,因为它不需要在MapInfo软件平台上运行。

GIS和MIS结合的过程其实是GIS嵌入MIS的开发过程,围绕MapInfo公司的产品,GIS嵌入MIS的开发模式有以下三种:以MapInfo作为独立开发平台,利用MapBasic所进行的二次开发;将MapInfo作为OLE对象的开发模式;利用基于ActiveX的MapX控件所进行的开发模式。下面就这三种开发模式做进一步讨论。

①利用MapBasic开发:MapBasic是MapInfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*. mbx文件能在MapInfo软件平台上运行,早期的MapInfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却有较多束缚,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,MapBasic比较适用于扩展MapInfo功能。MapBasic最大的局限性在于,它没能与某一实际的应用相结合,完全脱离管理信息系统而独立运行,缺少了与实际管理中相关功能的结合点。

②利用OLE自动化对象开发:它的基本思想是建立MapInfo自动化对象,基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、 VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对MapInfo进行操作。实际上是将MapInfo用作进程外服务器,它在后台输出OLE自动化对象,供控制器调用它的属性和方法。尽管它可以在VC、 VB、Delphi、PB中作为一个对象使用,但对应用系统的界面组织还必须用MapBasic来完成,可见该类开发一定要先掌握MapBasic语言,没有一定开发经验的人较难上手处理问题。

③利用MapX开发:MapX是MapInfo公司最新推出的ActiveX控件产品,目前也在不断发展升级。由于MapX是基于Windows操作系统的标准控件,因而能支持VC 、 VB、 Delphi、PB等标准化编程工具,使用时只需将控件装入开发环境,装入控件后,开发环境ActiveX工具条上会增加一个控件按钮Map,把它拖放到窗体上就可建立一个OLEObject类型的ActiveX地图对象Map,通过设置或访问该Map对象的属性、调用该Map对象的方法及事件,便能快捷地将地图操作功能融入应用程序中。由于对地图对象的处理与对所有其他标准控件的访问方法类似,所以只要像学习其他控件,比如按钮、文本框、下拉列表的属性、函数、事件一样来学习这个地图控件即可。

综上所述,基于MapBasic的开发虽然简单,但受限制较多,比较适合MapInfo功能扩展编程;而基于OLE自动化的开发比较繁琐,需要来回向后台的MapInfo发送MapBasic字符串命令,所建立的应用程序运行速度也相对较慢,但这种开发方法能随心所欲地制作出美观友好的界面,将地理操作与非地理操作融为一体,并且能实现几乎全部的MapInfo功能,这是目前的MapX也不能比拟的。与传统GIS专业性开发环境相比,像MapX这类组件式GIS系统的出现可以说是一种质的飞跃,它小巧灵活、开发简捷、价格便宜,用MapX开发的GIS系统运行速度快,因为它不需要在MapInfo软件平台上运行。就功能而言,MapX并没能实现所有的MapInfo功能(据称95%以上),但具体应用中用到的功能基本齐备。