基于组件的gis开发

基于组件的gis开发

ID:18373440

大小:953.00 KB

页数:26页

时间:2018-09-17

基于组件的gis开发_第1页
基于组件的gis开发_第2页
基于组件的gis开发_第3页
基于组件的gis开发_第4页
基于组件的gis开发_第5页
资源描述:

《基于组件的gis开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于组件的GIS开发——VisualBasic和MapObjects实现一、MapObjects介绍1、基于组件的GIS开发技术利用GIS支撑软件进行二次开发可以充分利用支撑软件所具有的强大功能,开发比较容易,但开发的系统要在支撑软件的环境中运行,系统往往比较庞大,相应成本也高,对某些地图和空间分析只是部分功能的系统来说,二次开发就不太适合。此外二次开发受到原有软件的限制,灵活性没有底层开发大。基于上述原因,用户希望GIS支撑软件能组件化,在开发系统时,根据需要利用功能组件。为此,一些GIS公司相继开发了供开发人员使用的制图与GIS功能组件,如ESR

2、I公司的MapObjects、MapInfo公司的MapX等。2、MapObjects产品MapObjects简称MO,是ESRI公司开发的一组供开发人员使用的制图与GIS功能组件,目前的版本是2.2。它是建立在微软的对象链结和嵌入(ActiveX,原先称OLE)基础之上的。ActiveX是当今得到最广泛支持的面向目标的软件集成技术。用户象用砖块盖房子一样利用ActiveX组件开发和集成Windows应用。一个ActiveX控件是一个可重复使用的软件组件。ActiveX控件可以将许多其他ActiveX对象包装在一个包中。这个包可以反映某些特定的功能,

3、如统计图和多媒体等,并可以直接嵌入支持ActiveX的应用中。ActiveX对象具有特性和方法,可以通过对它们的编程来控制对象的外观、行为以及相互作用。MO目前使用的主要版本为2.0、2.1和2.2。MO2.0于1999年发布;MO2.1于2001年3月,增加了CAD、ArcSDE、StreetMap等文件格式的支持功能;MO2.2发布于2003年1月,主要增加直接读取GIF和TIFF文件等功能。MapObjects2.2由一个ActiveX控件(Map控件)和46个可编程ActiveX对象(包括Map控件,可见的对象)所组成。MapObjects控

4、件可以直接插入到许多标准开发环境的工具集中,包括VB、Delphi、VisualC++、MicrosoftAccess、VisualFoxpro等流行的程序设计环境。3、利用MapObjects可以实现的功能利用MapObjects,开发人员可以在熟悉和喜欢开发环境中开发出系统开销小的GIS系统,或在已有的系统中添加GIS功能。利用MapObjects,可以进行如下的操作:1)显示具有多个图层的地图2)地图的放大、缩小和漫游3)增加点、线、圆和多边形等各种图形4)增加文本5)显示特征的属性6)利用图形选择特征7)利用邻近分析选择特征8)利用SQL表达

5、式选择特征9)选择特征的统计10)查询和更新选择特征的属性数据11)各种专题制图12)按字段的高程或测量值显示13)按字段值对特征进行标号14)显示遥感图像15)实时或时间序列数据的动态显示16)地理编码17)利用特征的测量值显示点和线事件18)地图坐标转换19)地图的空间操作20)地图的旋转4、在VisualBasic下使用MapObjects安装MapObjcts之后,打开VisualBasic的程序开发环境,在左边的控件面板上点击右键将弹出控件选择框,选择ERSIMapObjcts2.2,控件中将增加一个名叫Map的控件。如果要在应用程序中加入

6、地图,则在控件栏中选择Map控件,利用该控件画一个图框用于显示地图。设置Map控件属性,包括所要显示的图层、显示顺序、每一图层的显示特性等(图1—1)。根据需要增加其他控件,并利用MO提供的对象进行编程。图1—1Map控件属性和图层属性设置程序运行界面如图1—2所示。图1—2程序运行界面5、利用MapObjects在线帮助和实例在地图控件处于活动状态下,按F1将打开MapObjects在线帮助。MapObjects在线帮助含有每个对象、特性、方法、事件和变量的详细文档。学习MapObjects的最好方法是在在线帮助中利用编码例子。大多数帮助条目含有可

7、以在VB工程中执行的例子。此外,MO还有许多实例,它们的Form设计和代码可以参考。二、MO对象MO中有46个对象,可以划分成5个大类:数据操作对象类(10个)、地图显示对象类(17个)、投影对象类(8个)、图形对象类(7个)和地址匹配对象类(4个)。1、数据操作对象类数据操作对象类中各个对象的关系如图2—1所示。通过定义DataConnection对象可以确定连接的数据库或文件目录。利用DataConnection对象的GeoDatasets属性可以得到图层数据的集合对象(GeoDatasets)。利用GeoDatasets的Item方法可以得到其

8、中的一个图层文件。利用Layers集合的Add方法可以把图层文件增加到地图控件中,并作为一个MapLayer

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

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

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