基于MapInfo平台的GIS集成开发研究

基于MapInfo平台的GIS集成开发研究

ID:44067947

大小:71.56 KB

页数:7页

时间:2019-10-18

基于MapInfo平台的GIS集成开发研究_第1页
基于MapInfo平台的GIS集成开发研究_第2页
基于MapInfo平台的GIS集成开发研究_第3页
基于MapInfo平台的GIS集成开发研究_第4页
基于MapInfo平台的GIS集成开发研究_第5页
资源描述:

《基于MapInfo平台的GIS集成开发研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于MapInfo=1平台的GIS集成开发研究[摘要]以Maplnfo为基础开发平台,利用其二次开发语言MapBasic和VisualBasic进行集成开发,扩展了Maplnfo的功能和应用范围,同时又有应用针对性。集成二次开发既可以充分利用可视化软件开发工具的高效方便的编程功能,又可以充分利用GIS工具软件完备的空间数据可视化分析处理功能,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用面向对象的可视化软件开发出来的应用程序具有良好的外观、完善的功能、可靠性好、便于维护等优点。[关键词]GIS

2、集成开发MapInfoVBMapBasic1.Mapinfo与VB集成开发的基本原理MapInfoProfessional自4.0以上版本提供了一种新的开发方式:OLEAutomationo所谓OLEAutomation,实际上是一种编程的接口,它允许用户应用程序或组件来控制另一个程序或组件的运行。它包括自动化服务器和自动化控制器。Mapinfo与VB集成开发,一般情况下将VB作为自动化控制器,控制和使用自动化对象Maplnfo,MapInfo作为自动化服务器,由VB驱动。在这种机制下,用户可以方便地在

3、自己的应用程序中使用Maplnfo,包括执行mapbasic命令,向Mapinfo中输入数据,以及从中获取数据、修改数据等。2.Mapinfo与VB集成开发GIS分析(1)建立VB应用程序与MapinfoOLE的连接VB应用程序与MapinfoOLE服务器连接原理是:在VB应用程序中通过OLEAutomation技术实现应用程序与Mapinfo的连接,从而实现OLE对Mapinfo的调用。其具体实现方法是:在包含地图窗口的窗体的Load事件中添加代码,首先声明一个Mapinfo对象变量,再创建mapin

4、fo.Application对象。要调用Mapinfo时,通过使用对象变量来传递OLE的可编程对象的程序标识,即:Mapinfo.Application。下面是OLE对象建立的示例:PrivateSubForm_Load()DimMapinfoasObject,声明OLE对象变dSetMapinfo=CreatcObject("Mapinfo.AppIication")'创建与Mapinfo进行通信的OLE对像,并自动建立连接EndSub(1)在VB应用程序中集成地图窗口在VB的应用程序中集成Mapin

5、fo的地图窗口,必须在VB的应用程序中为Mapinfo中的应用窗口重新设置父窗口,一般父窗口是窗体,并指定一个Picture控件为集成地图窗口的父窗口。同时还可以设置Mapinfo信息的父窗口和Mapinfo的其它父窗口。这些设置可以使用OLE自动化对象的Do方法来实现。最后,将地图的空间数据、属性数据以及其它数据建立有效的连接。下面是地图集成的一个示例:'重新设置mapinfo中的应用窗口的父窗口,其中map是一窗体,picturel是map上的picture控件MapInfo.do"SetAppIi

6、cationWindow"&map.hWnd'设置picture控件picturel为地图窗口的父窗口MapInfo.do"SetNextDocumentParent"&map.Picturel.hWnd&"StyIe1"'设置窗口信息的父窗口MapInfo.do"SetWindowInfoReadOnIy"'打开缺省地图空间MapInfo.do"RunappIication""在D:地图.wor"'将地图数据、属性数据以及其它数据集成Mapinfo.Do"RegisterTabIe""D:地图s

7、x.dbf""Typedbf'Mapinfo.Do"OpenTabIe"”D:地图sx.dbf"Interactive'缺省地图操作MapInfo.RunMenuCommand1702'在菜单或工具按钮中调用MapInf。的基本功能的方法如下MapInfo.RunMenuCommand1701'选择MapInfo.RunMenuCommand1702'漫游MapInfo.RunMenuCommand1705'放大MapInfo.RunMenuCommand1706'缩小(1)在VB应用程序中实现回调

8、VB应用程序是通过OLE自动化对象对集成的地图窗口进行操作控制的,当VB应用程序在地图窗口进行相关操作,如:地图图形对象的偏辑;地图图形对象的选择;改变地图窗口的状态;选择菜单、按钮等工具控件、窗口内属性数据编辑等。其操作的事件只传递给Mapinfo服务器,而不直接传递给VB应用程序,为了实现在VB应用程序中对事件的处理,就利用Mapinfo对象的SetCallBack回调)方法来处理消息并将其传递给应用程序。当Mapinfo系统通过OLE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。