资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,GIS,开发,基于组件的开发以,MapX,为例,1,MapX,开发教程内容,第一章,MapX,简介与开发基础,第二章 图层操作与显示控制,第三章 工具定义与空间选择,第四章 数据绑定与专题地图,第五章 坐标系统与地图输出,2,MapX,简介,MapX,是,MapInfo,公司开发一个,GIS,开发组件。可以用它把地图化功能嵌入到新的和现有的应用程序中,提供各项地图引擎的功能,如放大、缩小、平移、查询及空间资料搜寻等。并可以利用空间资料(电子地图)结合商业数据库,提供各种商业分析,以提供更佳的商业决策或查询。,3,MapX,是一个标准,OCX,组件,适用于组件式(核心式),GIS,开发。它可以被快速集成到使用,Visual Basic,、,PowerBuilder,、,Delphi,、,Visual C+,或其他面向对象的语言的客户端应用程序中。开发人员可以在他们熟悉的环境中工作,最终用户可以通过他们熟悉的应用程序来访问地图数据。,4,MapX,的技术特点,MapX,组件实现了,MapInfo,软件的大多数功能,可以分析并直观地显示业务数据,创建或编辑地图图元,并按地理位置显示数据结果。,MapX,的主要功能如下:,图层控制管理:用户可以管理多个图层的地理信息,对图层的显示方式、缩放视野、可见性等进行设置。提供特殊图层类型以支持,5,特定的应用。如动态图层可以用于实时追踪,用户自绘图层用于绘制特定的地图元素。,地图编辑:可以让用户在地图上添加、修改或删除图元。,工具:用户可以通过,MapX,内置的导航、选择和标注工具或自定义工具来对地图进行操作。,6,选择:用户可以利用选择对地理数据重新组织,实现地理分析。,MapX,提供了园、矩形、多边形和点范围选择工具进行直观选择。,投影和坐标系:,MapX,完全支持地图坐标系和投影。用户可以精确地调整地图的显示并在自己的坐标系中处理,X-Y,数据。,7,栅格图像:,MapX,支持,JPG,、,GIF,、,WMF,、,BMP,、,TIF,、,PNG,、,PSD,等多种图像格式。,自动标注:,MapX,可以自动向地图添加标注,同时控制其属性及显示。,数据绑定:,MapX,提供,ADO,、,DAO,、,ODBC,等多种不同类型数据的绑定,实现地图数据和属性数据的挂接。,8,远程空间服务器连接:,MapX,支持开发者连接,Oracle8 Spatial,、,Informix,和,DB2,等企业级空间服务器中的动态数据。完全支持,Oracle8 Spatial,的,SDO_Geometry,数据格式。因而,开发者可以使用标准的,SQL,查询来进行空间数据的检索。,专题地图:,MapX,提供了色彩范围、点密度、独立值、等级符号、饼图、直方图等,9,等,6,种渲染方式来表示专题地图,每种专题要素都提供详细的表达控制。,地图旋转:,MapX,支持地图的,360,旋转,从而可以更灵活和有效地表达地理数据(如车辆动态跟踪时旋转地图)。,10,MapX,的应用,MapX,组件自推出以来,在各个领域得到了广泛的使用。如:土地利用、电力管理、房产管理、通讯工程、水利工程、地下管道管理、交通运输等。,11,Mapinfo,的空间数据模型,Mapinfo,采用“空间实体,+,空间索引”的空间数据模型。,空间实体是地理实体的抽象,主要包括点、线、区域和文本对象,4,种类型。各种空间实体对象都维护着自己的所有属性。多个空间实体组成一个图层。,12,空间索引的目的是对给定的空间坐标,能够以尽快的速度搜索到坐标范围内的空间对象。,MapInfo,采用,R-Tree,技术将空间实体的最小外接矩形(,MBR,)存储在索引中,并按从大到小的顺序进行索引搜索。建立了空间索引,就能快速地进行空间分析了。,13,Mapinfo,以表的形式分层描述空间信息,组织地图数据和属性数据。,综合地图,图层一,图层二,对应的空间数据,空间实体,对应的空间数据,14,MapX,的文件类型,.tab,:描述,MapInfo,表的结构。它是描述数据文件格式的小文本文件。,.dat:,(,.mdb,、,.aid,或,.dbf,):这些文件含有表格格式数据。,.map,:描述图形对象(如果表没有地图对象则不存在该文件)。,15,.id,:是链接对象和数据的交叉引用文件(如果表没有地图对象则不存在,.ind,:索引文件。索引文件允许使用,Find,对象来查找地图对象。,16,MapInfo,的文件格式及数据关联机制,17,MapInfo,的索引文件格式及数据关联机制,18,MapX,数据模型总结,MapX,数据模型是一种“空间实体空间索引”的模型。空间数据按层来组织,可以包括点、线、区域和文本对象,4,种元素,属性数据和空间数据通过交叉索引相对应,利用空间索引技术加快数据的检索速度。,19,如何学习,MapX,组件开发,了解面向对象编程的概念。,熟悉,VB,语言,会使用对象的成员、属性、方法和事件。,理解,MapX,的空间数据模型。,熟悉,MapX,组件的体系结构。,结合例程多练习编写单功能程序。,20,MapX,组件的体系结构,MapX,组件的基本组成单元是,Object(,对象,),和,Collection(,集合,),,集合是多个对象的组合。每种对象和集合负责处理地图某个方面的功能。,21,MapX,组件的局部,22,从上图可以看出,,MapX,组件体系的顶层是,Map,对象,,Map,对象也是,MapX,组件体系中唯一一个可视化对象,其他的对象与集合都是由,Map,对象继承来,,Map,对象有自己的属性、方法和事件。,Layers,、,DataSets,、,Annotations,是,Map,对象下面的三个重要分支。其中,Layers,主要用于图层操作,,DataSets,用于访问属性数据,,Annotations,用于在地图上增加文本或者符号。,23,在,VB,中查看,MapX,的对象,MapX,安装后,我们可以在,online help,中看到,MapX,的详细结构。在,VB,中加载,MapX50.dll,后,可以用对象浏览器查看,MapXLib,的全部结构。,24,MapX online help,25,VB,对象浏览器中的,MapX,结构,26,MapX,的安装说明,我们现在常见的,MapX,版本是,MapX4,和,MapX5,系列,两个系列现在都有中文和英文两个版本。需要注意的是,MapX4,采用,OCX,发布对象,,MapX5,采用的是,DLL,,所以,,MapX5,的程序在,MapX4,下不能运行。,27,图层集和,Geoset,文件,MapX,中使用图层集(,layers,)来组织地图数据,图层集由若干图层(,layer,)及其设置组成。,MapX,使用,Geoset,(,.gst),文件来保存图层及设置的集合。,Geoset,文件是一个文本文件,可以用记事本打开观察。,28,建立,Geoset,文件,MapX,组件安装时,同时提供了,Geoset Manager,实用程序。,Geoset,文件可以使用,Geoset Manager,实用程序来建立。方法是:打开,Geoset Manager,,新建,Geoset,文件,添加图层,设置图层,保存。,29,新建,Geoset,文件,30,添加图层,图层设置区,图层管理,31,地图集显示,32,Geoset(.gst),文件局部,33,第一个,MapX,程序,VB,中建立一个标准,EXE,工程。,添加,MapX,控件。,在,Visual Basic,工具箱上安装地图控件。在打开的,Visual Basic,项目中执行以下操作:,1.,右键单击,Visual Basic,工具箱,然后从快捷方式菜单中选择“部件”。,2.,在“部件”对话框中,单击控件选项卡,然后在列表中查找,MapInfo MapX v5.0,。如果没有选择这一项目,则将其选中。单击“确定”。,3.,工具箱上此时会出现地图控件。,34,选择,MapX,组件,在窗口绘制一个地图图框。,定制,MapX,控件属性,:,在地图窗口单击右键选择“特征”。设置地图集和属性。,运行程序。这样,我们没有写一行代码就通过设计实现了,MapX,地图显示。,35,添加,Mapx,控件,36,设置地图集和属性,设置地图集属性,地图集的管理图层,37,结果程序,38,
展开阅读全文