基于MapInfo的城市GIS系统
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
程序整体的实现思路
系统采用VC作为容器集成开发基于MapInfo的应用,采用OLE Automation的开发方式,即用VC开发前台Client程序作为自动化控制器,MapInfo后台运行作为Server,以自动化对象的身份为客户程序提供GIS功能服务。在集成开发方式中,客户程序和MapInfo是通过OLE的方式来进行通信。
自动化对象
自动化对象就是作为OLE服务器的代码部件,客户应用程序通过创建一个对象来使用代码部件,同时调用对象的属性、事件和方法。MapInfo作为一个巨大的代码部件为VC客户程序提供服务,而VC客户程序中使用CreateObject()函数创建自动化对象,实现无缝集成。
自动化控制器
自动化控制器,实际上就是自动化对象的客户。虽然自动化控制器与对象之间的关系是一般客户与COM对象的关系,然而作为自动化对象客户程序,它只需按照COM对象的用法来调用自动化对象,如通过COM API函数CoCreateInstance可以创建自动化对象,通过GetTypeInfo成员函数可以获取类型信息,通过Invike成员函数可以访问对象的属性和方法。自动化控制器一方面提供了一套语法结构来支持自动化对象的创建、析构和调用对象的方法或属性,另一方面,它利用对象的类型信息提供了对象浏览器功能,允许用户通过UI创建自动化对象。
copyright think58
[版权所有:http://think58.com]
MapInfo地图功能的集成
MapInfo没有向用户提供OCX、TLB、DLL的支持,而这些是无缝集成的基础,但MapInfo支持OLE自动化,所以可以通过客户创建MapInfo自动化对象来向MapInfo发送控制命令。可以将VC客户程序的窗口对象设置为MapInfo窗口的父窗口,让MapInfo所有的消息和信息都反映到VC客户程序,同时,也可以利用第三方组件作为显示MapInfo地图功能的容器,实现组件式GIS效果 think58.com
[版权所有:http://think58.com]