石大《GIS设计与开发》实习指导02 MapObjects简介_第1页
石大《GIS设计与开发》实习指导02 MapObjects简介_第2页
石大《GIS设计与开发》实习指导02 MapObjects简介_第3页
石大《GIS设计与开发》实习指导02 MapObjects简介_第4页
石大《GIS设计与开发》实习指导02 MapObjects简介_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章MapObjects简介一、MapObjects概述MapObjects简称MO,是ESRI公司开发的一组供开发人员使用的制图与GIS功能组件(ActiveX控件)。MapObjects是一套制图软件集,它使程序员能够把地图加到应用程序中去。

通过MapObjects可灵活地建立适合用户的地图接口。在小内存空间中,你能用多种工业标准程序环境之一去建立应用程序,你能够联合使用MapObjects与其它软件去实现地图与用户信息的联系。MO目前使用的主要版本为2.0、2.1和2.2。MO2.0于1999年发布;MO2.1于2001年3月,增加了CAD、ArcSDE、StreetMap等文件格式的支持功能;MO2.2发布于2003年1月,主要增加直接读取GIF和TIFF文件等功能。MapObjects2.0由一个Map控件和46个可编程ActiveX对象所组成,可以直接插入到许多标准开发环境的工具集中,包括VB、Delphi、VisualC++、PowerBuilder等流行的程序设计环境。MapObjects2.2增加了Legend和Scalebar控件。MapObjects2.0由一个Map控件和46个可编程ActiveX对象所组成,分为5大类:数据操作对象类(10个)地图显示对象类(17个)投影对象类(8个)图形对象类(7个)地址匹配对象类(4个)它们可以直接插入到许多标准开发环境的工具集中,包括VB、Delphi、VisualC++、PowerBuilder等流行的程序设计环境;二、MapObjects功能显示具有多个图层的地图地图的放大、缩小和漫游增加点、线、圆和多边形等各种图形增加文本显示特征的属性利用图形选择特征利用邻近分析选择特征利用SQL表达式选择特征选择特征的统计查询和更新选择特征的属性数据各种专题制图按字段的高程或测量值显示按字段值对特征进行标号显示遥感图像实时或时间序列数据的动态显示地理编码利用特征的测量值显示点和线事件地图坐标转换地图的空间操作地图的旋转三、MO支持的数据格式Shape文件:.shp:包含几何形状;.shx:包含数据索引;.dbf:包含属性信息;Shape文件通过ODBC(开放数据库互连,是微软开放服务结构中有关DB的组成部分,它建立了一组规范,并提供了一组对DB访问的标准API)读入,在安装MO时同时被装入并注册;CADCoverageLab标识点坐标数据文件Prj投影信息文件arf:弧坐标和拓扑关系表pal:多边形图形文件pat:多边形属性文件arc:弧线图形文件aat:弧线属性文件Arx:弧段索引文件Pax:标识点索引文件;tic:控制点文件cnt:多边形中心表;图像文件:航片、卫片格式:BMP、TIFF、JPEG、ERDASImage、GIF等属性表:建立连接属性表和与特征表(shape的dBASE)之间的关系;SDE:高性能制图数据服务器四、MO对象MO中有46个对象,可以划分成5个大类:数据操作对象类(10个)、地图显示对象类(17个)、投影对象类(8个)、图形对象类(7个)和地址匹配对象类(4个)。1、数据操作对象类数据操作对象类中各个对象的关系如图2-1所示。通过定义DataConnection对象可以确定连接的数据库或文件目录。利用DataConnection对象的GeoDatasets属性可以得到图层数据的集合对象(GeoDatasets)。利用GeoDatasets的Item方法可以得到其中的一个图层文件。利用Layers集合的Add方法可以把图层文件增加到地图控件中,并作为一个MapLayer对象。利用MapLayer对象的Records属性可以得到Recordset对象。通过Recordset对象的Fields属性可以得到Fields集合;通过Fields集合的Item方法可以得到其中的一个Field对象。通过Recordset对象的MoveFirst、MoveNext、MovePrevious方法可以对Recordset对象中的记录进行定位。2、地图显示对象类地图显示对象类中各个对象的关系如图2-2所示。DataConnectionDataConnection对象GeoDatasets集合GeoDataset对象Recordset对象Fields集合Field对象Statistics对象TableDesc对象Table对象Strings集合通过GeoDatasets属性通过Item方法通过Fields属性通过Item方法通过CalculateStatistics方法通过TableDesc属性通过Records属性通过Database等属性与数据库或文件目录建立连接MapLayer对象通过GeoDataset属性通过Records属性图2.1数据操作对象类中各个对象的关系MapMap控件Layers集合MapLayer对象ImageLayer对象TrackingLayer对象GeoEvent对象通过Item方法通过TrackingLayers属性通过Layers属性通过Event属性EventRenderer对象ZRenderer对象ChartRenderer对象TextSymbol对象Symbol对象ClassBreaksRenderer对象ValueMapRenderer对象DotDensityRenderer对象LabelRenderer对象GroupRenderer对象LabelPlacer对象图2-2地图显示对象类中各个对象的关系MapControl上的图层包括MapLayer、ImageLayer和TrackingLayer。一个MapControl只有一个TrackingLayer。MapLayer和ImageLayer的集合所对应的对象为Layers。MapLayer有不同的显示方式,通过给MapLayer的Symbol属性赋值,使MapLayer以新的符号显示;通过给MapLayer的Renderer属性赋值,使MapLayer以新的显示方式显示。3、投影对象类投影对象类中各个对象的关系如图2-3所示。有两种类型坐标系;地理坐标系和投影坐标系。通过Prime-Meridian、Datum和Unit三个对象可以定义一个地理坐标系,其中,Datum包括Spheroid对象的定义。通过GeoCoord、SysProjCoordSys和Unit三个对象可定义一个投影坐标系。Map控件和MapLayer对象有CoordinateSystem属性,该属性可以用GeoCoordSys对象或ProjCoordSys对象来赋值。同时GeoCoordSys对象和ProjCoordSys对象又可以通过Type属性定义具体的坐标类型。MapLayer对象有GeographicTransformation属性,该属性可以用GeoTransformation对象来赋值,GeoTransformation对象有type属性用于定义坐标变换类型。GeoTransformationGeoTransformation对象GeoCoordSys对象ProjCoordSys对象Projection对象PrimeMeridian对象Datum对象Unit对象Spheroid对象Map控件MapLayer对象图2-3投影对象类中各个对象的关系4、图形对象类图形对象类中各个对象的关系如图2-4所示。通过Point对象的x、y属性可以定义一个点。通过Points对象的Add方法可以把一个点增加到Points对象中。一个线对象和一个多边形对象可以是多个部分(Parts)组成,通过Parts属性可以得到Parts集合。Parts集合的Add方法可以把Points对象增加到Parts集合。PointPoint对象Points对象Line对象Polygon对象Rectangle对象Ellipse对象通过Item方法Parts集合通过Parts属性通过Add方法通过Bottom、Left、Top和Right四个属性可以定义一个Rectangle对象Ellipse对象图2-4投影对象类中各个对象的关系5、地址匹配对象类地址匹配对象类共有4个对象(图2-5)。AddressLocationAddressLocation对象Standardizer对象Geocoder对象PlaceLocator对象图2—5地址匹配对象类五、如何学习MO1、利用MapObjects在线帮助在地图控件处于活动(选中)状态下,按F1将打开MO在线帮助。MO在线帮助含有每个对象的特性、方法、事件和变量的详细文档。学习MapObjects的最好方法是在在线帮助中利用编码例子。大多数帮助条目含有可以在VB工程中执行的例子。2、阅读开发实例MO还自带有许多实例(ESRI\MapObjects\Samples\VB),它们的Form设计和代码可以参考;3、网络资源///////4、参考书:刘光.地理信息系统:组件开发篇.中国电力出版社,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论