基于组件的GIS开发——Visual Basic和Map Objects实现.ppt

基于组件的GIS开发——Visual Basic和Map Objects实现.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于组件的GIS开发——Visual Basic和Map Objects实现

基于组件的GIS开发 ——Visual Basic和MapObjects实现 第一章 MapObjects介绍 技术的产生 利用GIS支撑软件进行二次开发可以充分利用支撑软件所具有的强大功能,开发比较容易,但开发的系统要在支撑软件的环境中运行,系统往往比较庞大,相应成本也高,对某些地图和空间分析只是部分功能的系统来说,二次开发就不太适合。此外二次开发受到原有软件的限制,灵活性没有底层开发大。 基于上述原因,用户希望GIS支撑软件能组件化,在开发系统时,根据需要利用功能组件。 为此,一些GIS公司相继开发了供应用开发人员使用的制图与GIS功能组件,如ESRI公司的MapObjects、MapInfo公司的MapX、中科院地理信息中心的SuperMap等。 MapObjects产品 MapObjects简称MO,是ESRI公司开发的一组供开发人员使用的制图与GIS功能组件(ActiveX控件)。 ActiveX是当今得到最广泛支持的面向目标的软件集成技术。用户象用砖块盖房子一样利用ActiveX组件开发和集成Windows应用。 MO目前使用的主要版本为2.0、2.1和2.2。MO2.0于1999年发布;MO2.1于2001年3月,增加了CAD、ArcSDE、StreetMap等文件格式的支持功能;MO2.2发布于2003年1月,主要增加直接读取GIF和TIFF文件等功能。 MapObjects 2.0由一个Map控件和46个可编程ActiveX对象所组成,可以直接插入到许多标准开发环境的工具集中,包括VB、Delphi、Visual C++、PowerBuilder等流行的程序设计环境。 MapObjects 2.2增加了Legend和Scalebar控件。 MapObjects功能 利用MapObjects ,开发人员可以实现如下的GIS功能: 显示具有多个图层的地图 地图的放大、缩小和漫游 增加点、线、圆和多边形等各种图形 增加文本 显示特征的属性 利用图形选择特征 利用邻近分析选择特征 利用SQL表达式选择特征 选择特征的统计 查询和更新选择特征的属性数据 各种专题制图 按字段的高程或测量值显示 按字段值对特征进行标号 显示遥感图像 实时或时间序列数据的动态显示 地理编码 利用特征的测量值显示点和线事件 地图坐标转换 地图的空间操作 地图的旋转 在Visual Basic下使用MapObjects 打开Visual Basic的程序开发环境,增加MapObjcts控件(Map控件)到控件工具框中。 如果要在应用程序中加入地图,则在控件栏中选择Map控件,利用该控件画一个图框用于显示地图。 Map控件属性设置,包括所要显示的图层、显示顺序、每一图层的显示特性等。 根据需要增加其他控件,并利用MO提供的对象进行编程。 如何学习MO 利用MapObjects在线帮助 在地图控件处于活动(选中)状态下,按F1将打开MO在线帮助。MO在线帮助含有每个对象的特性、方法、事件和变量的详细文档。学习MapObjects的最好方法是在在线帮助中利用编码例子。大多数帮助条目含有可以在VB工程中执行的例子。 阅读开发实例 MO还有许多实例(ESRI\MapObjects\Samples\VB),它们的Form设计和代码可以参考。 第二章 MapObjects对象 MO中有46个对象,可以划分成5个大类 : 数据操作对象类(10个) 地图显示对象类(17个) 投影对象类(8个) 图形对象类(7个) 地址匹配对象类(4个) 对象是根据需要而产生的。 对象可以是具体的实体(如学生),也可以是反映实体性质的特征(如成绩)。 通过对象的属性(或方法)可以得到新的对象或属性信息(如通过学生的成绩属性可以得到成绩对象,通过成绩对象的属性又可以得到具体的成绩信息,如数学成绩); 可以利用对象或值对对象的属性进行赋值(如定义一个成绩对象并把它赋给一个学生的成绩属性;通过把具体的值赋给一个成绩对象来定义一个成绩对象)。 通过定义DataConnection对象可以确定连接的数据库或文件目录。 利用DataConnection对象的GeoDatasets属性可以得到图层数据的集合对象(GeoDatasets)。 利用GeoDatasets的Item方法可以得到其中的一个图层文件。 利用Layers集合的Add方法可以把图层文件增加到地图控件中,并作为一个MapLayer对象。 利用MapLayer对象的Records属性可以得到Recordset对象。 通过Recordset对象的Fields属性可以得到Fields集合;通过Fields集合的Item方法可以得到其中的一个Field对象。 通过Recordset对象的MoveFirst

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档