文档详情

GIS二次开发-使用MapObjects

飞***
实名认证
店铺
PPT
1.52MB
约52页
文档ID:49165631
GIS二次开发-使用MapObjects_第1页
1/52

GIS二次开发- 使用MapObjects (L2)2005.2.23第2章 MO/VB GIS二次开发入 门§ ESRI产品体系 § MO概述 § 建立开发环境 § 开始使用MO2.1 ESRI产品体系2.2 MO概述§ 2.2.1 MO的组成 § 2.2.2 MO 的功能与特点 § 2.2.3MO 支持的数据源 § 2.2.4Shape 文件 § 2.2.5图像(Image)文件 § 2.2.6数据表 § 2.2.7空间数据库引擎(SDE)2.2.1 MO的组成§ MapObjects 包括一个ActiveX 控件 (OCX) 也 就是 Map 控件,还包括45个 ActiveX 自动对象. 可用于符合IT行业标准的Windows编程环境§ ActiveX 自动对象 § 通过ActiveX 自动操作接口,提供给其它应用 程序或编程工具使用的一种对象MO的组成§ 数据访问对象: 存取地图数据库的一组对象 § 地图显示对象: 用来显示电子地图及符号化地 图要素的一组控件(Map,Legend,ScaleBar )和对象 § 几何对象:点,线,面等用来与图层要素进行互操 作的对象 § 投影对象:为地图或图层定义坐标系统,及进行 投影变换的一组对象 § 地址匹配对象:对美国的街道数据,可快速定位 § 实用对象: 包含一个特殊的字符串对象Strings2.2.2 MO 的功能与特点§ MapObjects是可以允许用户向应用程序中添加地图的 制图软件控件集合。

你可以将MapObjects 与其它软件提 供商提提供的组件绑定,比如绘图、多媒体及数据库对象 你可以根据最终用户的需求,开发出应用程序,有选择 地实现他们所要求的功能 § MapObjects 可以在多种符合工业标准的开发环境下使 用,比如 Visual Basic, PowerBuilder, Visual C++等. MapObjects 可以直接嵌入到这些开发环境中使用,允许 你快捷地创建应用程序 § MapObjects不适用于最终用户它是为程序开发者设 计的程序开发者可利用MapObjects开发应用程序,并 把这些程序提供给下一级用户使用 § MapObjects运行于Windows 98或Windows NT 4.0或 更高版本主要功能§ 显示一张包含多个图层的地图(道路,河流,边 界) § 放大,缩小,漫游 § 生成几何图形,如点,线,圆,多边形 § 为图层中的要求添加注释 § 识别地图上被选中的要素(点,线,面) § 通过线,矩形,多边形,圆来选择要素 § 选取距某参照物一定距离范围内的要素 § 通过SQL语句来选择要素主要功能§ 对选择的要素进行统计 § 查询与更新被选择的要素的属性数据 § 制作专题地图。

§ 根据字段的值标注图层要素 § 显示从航片或卫星图片上获取的图像 § 动态显示实时或时间系列数据 § 通过输入地址在地图上定位 § 将数据投影到不同的坐标系下2.2.3 MO 支持的数据源§ MapObjects支持Shape 文件、图像文件、数据表或通 过ESRI的专用数据库引擎连接的专用数据表 § Shape 文件是地图数据的矢量格式,图像文件指栅格 图像或航空及卫星的畸变图像的纠正照片,数据表是可用 ODBC驱动加载的任意格式的数据表文件 专用数据库 是网络上通过ESRI专用数据库引擎连接的空间数据库服 务器上的数据 § Shape 文件适用于中小型地图数据而大型数据(省级 ,国家级海量数据),你就需使用专用数据库 § 用MapObjects编写的软件是可伸缩的开始时你可使 用Shape 文件,当用户需要与大型数据库连接时,仅需 修改打开数据源的几行代码,就可以实现到专用数据库数 据源的迁移2.2.4 Shape 文件§ Shape 文件是ESRI提供的存储地理数据 的矢量格式其坐标系是笛卡尔坐标注 意,笛卡尔坐标与屏幕坐标有所不同 § 图层中每一个地理要素的几何形状以一组 矢量坐标(X,Y)的形式存储。

其属性存放 在与Shape 文件相连的dBASE的数据表中 ,并通过唯一的标识进行关联Shape 文件是一种开放的GIS数据格式,如果你 想编写程序直接读写Shape 文件,你可以从 ESRI网点 上下载ArcView Shape (1998) 文件白皮书 每一个Shape 文件存储某一种类型的地理要素( 点、线段或多边形),每一个要素相当于数据表 中的一行记录 一个Shape 数据至少由三个文件组成: § 主文件(*.shp)包含描述地理要素几何形状的数 据 § 索引文件(*.shx)包含数据的索引 § 数据表文件(*.dbf)包含地理要素的属性,你可 以修改字段的定义2.2.5 图像(Image)文件§ 可以通过MapObjects编写应用程序来显示多 种图像文件在地图中图像多来自航空照片和卫 星图像 § 图像文件依靠带有灰度值或色标的一组像元来 表示各种信息,这些像元无属性连接,其坐标系 统与Shape 文件不同 § 在ArcView、ArcGIS中,通过对图像文件进行 地理配准,可以使图像数据精确地与具有大地坐 标的Shape数据集成在一起MapObjects (或其 它 ESRI 软件)用World文件来配准图像TIF 文件World 文件 .TFW一个world文件是一个简单的文本文件,它包括 数学参数来定义转换关系,其公式为: § x' = Ax + By + C § y' = Dx + Ey + F§注意 MapObjects不支持图像旋转。

这样 B,D的值在 world 文件中是被忽略 的如果需要旋转,你可用 ESRI的ARC GRIDMapObjects支持的图像文件格 式 名称描述扩展名World file扩 展名BMPWindows bitmap*.bmp*.bpwTIFFTagImage file*.tif*.tfwSUNSun raster file*.sun*.snwERDASERDAS GIS or LAN*.gis*.gswIMPELLIMPELL bitmap*.rls*.rlwBILBand interleaved by line*.bil*.blwBIPBand interleaved by pixel*.bip*.bpwBSQBand sequential*.bsq*.bqw2.2.6 数据表2.2.7 空间数据引擎 (SDE) •如果你采用大规模地图数据来组织工作,建议考虑使用 空间数据引擎(SDE),这是一种高性能空间数据数据库 服务器 •通过SDE,空间数据可集中存放于空间数据库服务器上 用户的SDE应用程序可基于UNIX或Windows环境编 写,SDE提供软件开发和空间数据管理能力•在基于MapObjects编写的应用程序中,通过ODBC( 开放数据库连接)驱动程序,可以访问外部的数据表, 它们可以是各种格式的,比如:Access, SQL Server, Oracle 等2.3 建立开发环境§ 2.3.1系统要求 § 2.3.2安装 Microsoft Visual Basic 6.0 中文版 § 2.3.3安装 ESRI MapObjects 2.3 (GIS 控件)2.3.1 系统要求§ 硬件: Intel Pentuim 计算机 128M 以上内 存 § 软件: Windows 2000/XP ; Visual Basic 6 和 ESRI MapObjects 控件2.3.2安装 Microsoft Visual Basic 6.0 中文版STEP 1:运行VB 安装光盘上的的 Setup.exe 程序, 按提示进行安装。

(安装过程中需要 系列号的地方可输 入任意数字例如: 111-1111111直到“ 下一步”按钮变成可 用状态)•STEP 2: 安 装完成后,在 光盘目录VB6- SP6B中找到 SetupSP6.exe ,将VB6 升级 到最新版本 SP6 是微软公 司对其产品 VB6 的第6次 更新,修正了 以前的一些问 题可在这里下载到最新版本的MapObjects 产 品 § s/download.html § 在下载之前需要注册一个用户帐号,但注 册是免费的.2.3.2 安装 ESRI MapObjects 2.3.2 安装 ESRIMapObjects STEP:在光盘中有 三个文件;依次运 行 •Mo23Eval_Only.ex e:安装MO •Mo23Samples.exe :安装例子 •Mo23Data.exe:安 装例子所需要数据安装完成后,可从“开始”->“程序” ->“ESRI” 找到 MapObjects 2.3程序组2.4 开始使用MO§ 2.4.1认识VB 6的集成开发环境 § 2.4.2在VB 6 中加载 MapObjects控件 § 2.4.3如何获取帮助 § 2.4.4添加地图控件及数据2.4.1认识VB 6的集成开发 环境VB 集 成 开 发 环 境设置VB选项,明确变量类 型在准备开始一个工程时 ,应该确保VB工程中 使用到的变量的类型都 是明确声明的,这样可 以减少发生错误的可能 性,这是一个很好的编 程习惯。

从Tools 单中 选Options项,在 Options对话框中点中 “要求变量声明”,在任 何一个新窗体或模块中 都会具有这个设置也 可以通过在代码的第一 行输入语句 Option Explicit 达到相同的效 果Option ExplicitVB6中常用的控件库§Microsoft Common Dialog Control 6.0(sp6) : COMDLG32.OCX §Microsoft Windows Common Controls 6.0(sp6) :MSCOMCTL.OCX §Microsoft Windows Common Controls-2 6.0(SP6) :MSCOMCT2.OCX §Microsoft Windows Common Controls-3 6.0(SP5) :COMCT332.OCX------------------------------------------------------------- Microsoft Hierarchical FlexGrid Control 6.0(sp4) (OLEDB) : MSHFLXGD.OCX §Microsoft ADO Data Control 6.0 (sp4) (OLEDB): MSADODC.OCX §Microsoft FlexGrid Control 6.0(sp3) : MSFLXGD.OCX §Microsoft DataList Controls 6.0(sp3)(OLEDB) :MSDATLST.OCX §Microsoft DataGrid Control 6.0 (sp5)(OLEDB): MSDATGRD.OCX §Microsoft DataRepeater Control 6.0(OLEDB) :MSDATref.ocx §Microsoft Tabbed Dialog Control 6.0 :tabctl32.ocx2.4.2在VB 6 中加 载MapObjects控件STEP1:启动 Visual Basic 6 ,在 开始出现的向导 中选择新建工程( 标准 EXE) . 确定 STEP2:在工 具栏上点右键 (工 具栏位于VB窗口 的左边),在出现的 右键菜单中点击” 部件”命令. 选中拖放:在窗 体上放置 Map控件调整Map控件的 大小及位置建立包含Map控件的缺省工程 : 保存工程模板:将窗文件(.frm)及工。

下载提示
相似文档
正为您匹配相似的精品文档