MapObjects.docx
- 文档编号:2798324
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:69
- 大小:89.67KB
MapObjects.docx
《MapObjects.docx》由会员分享,可在线阅读,更多相关《MapObjects.docx(69页珍藏版)》请在冰豆网上搜索。
MapObjects
第一章 了解MapObjects
MapObjects是一套制图软件集,它使程序员能够把地图加到应用程序中去。
通过MapObjects你可灵活地建立适合用户的地图接口。
在小内存空间中,你能用多种
工业标准程序环境之一去建立应用程序,你能够联合使用MapObjects与其它软件去实现地
图与用户信息的联系。
1.1 元素软件
大部分商业软件在最近的版本中极度壮大,诸如字处理及报表等程序,其最初仅有几
兆,目前却严重消耗磁盘空间。
这就要看最新的计算机能否快速执行最新版本软件以至于
不落后于旧机器使用老软件的效率。
由于操作系统变得越来越复杂及用户对更多功能的要求也日趋强烈,程序也随之壮大
了。
然而典型用户也仅充分使用了这些大软件的10%-20%。
那些没有用到的功能象一个大包
袱,严重消耗了系统资源和磁盘空间。
如何打破这种恶性循环?
元素软件(Component software)是一技术上的重大突破。
它提
供了一种解决办法。
元素软件的原理是把大的桌面应用软件的功能打碎成部件。
开发人员可跟据需要恰当
地将一些部件组合成工具箱,用它建立专用软件。
这种部件叫目标(objects)。
所用平台就
是可视化程序语言。
其结果就是精炼地程序快速经济地运行并且对特定的市场有很强的适
应性。
1.2 MapObjects的功能
通过MapObjects你可完成以下甚至更多功能:
显示一张多图层地图(道路,河流,边界)。
放大,缩小,漫游。
生成图形元素,如点,线,圆,多边形。
说明注记
识别地图上被选中的元素。
通过线,方框,区域,多边形,圆来拾取物体。
拾取距某参照物特定范围内的物体。
通过SQL描述来选择物体。
对选取物体进行基本统计。
对所选地图元素的属性进行更新,查询。
绘制专题图。
标注地图元素。
从航片或卫星图片上截取图像。
动态显示实时或系列时间组数据。
在图上标注地址或定位。
本书开发了一系列通过VB,OLE,WinAPI扩展MapObjects的办法。
MapObjects可执行许多基础制图功能。
但它不能执行某些高级功能。
如,高质量地图
输出,地图坐标系投影,表面模型或网络分析等高级空间分析。
以及拓扑编辑。
你可利用
ESRI的其它产品如ARC/INFO,ArcView来实现高级功能。
1.3 MapObjects简介
MapObjects包括一个OLE控件(OCX)叫做地图控件(Map control)和一组(三十多个)OLE
目标(objects)。
它适用于工业标准程序环境。
如VB4.0,Delphi2.0,PowerBuilder,MS Ac
cess等。
MapObjects不适用于最终用户。
它是为程序开发者设计的。
程序开发者可利用MapObj
ects开发应用程序并把这些程序提供给下一级用户使用。
MapObjects运行于Win95或Win NT3.51或更高。
最近,Mierosoft开始把OLE controls称作ActiveX controls。
本书将元素称为控件(
OLE controls 或 OCXs),但这些术语可与新术语ActiveX互换。
MapObjects和OLE containers
OLE Automation object 是一种可编程目标,它可通过OLE Automation server来通讯
。
OLE custom control是一种软件元件,它可通过OLE container实现特定功能。
OLE con
tainer和 OLE Automation Server就是VB,Delphi,Access,VFro。
OLE custom control有事件,属性和方法。
OLE Automation objects有属性和方法。
在OLE Container中(如VB),你能联合使用Map Objects的目标和其它Custom control
s,及利用别的程序中的OLE Automation objects(如 office)去建立应用程序。
部件软件的优势
Map Objects(通常叫OCXs)可容易地用OCXs建立程序而免去C++ 冗长的代码,
你可发挥专长于设计,工程,制图,而不是软件。
你的Map Objects 应用软件不多占用内存空间。
比其它 Win 支持的制图软件速度更快,MapObjects 直接建立在MFC 库上且
优化执行。
你有极大的灵活性去建立用户接口。
你可在应用程序上建立几乎所有在Win9
5上见过的接口。
MapObjects的另一特点是,地图可以是程序中的主要元素也可是附属品。
因此MapObj
ects尤其适合vertical应用软件。
例如, 你的软件可能主要是商用数据库,当查询时可在
表单上高亮度显示与查询内容相关的地图。
1.4 使用MapObjects
把一张地图加到VB的表单上十分容易,如图
***************
***********
用 MapObjects编写程序的步骤:
从CD-ROM装入MapObjects。
启动VB在"工具"菜单下打开Custom controls对话框。
如果安装成功你将看到
ESRI MapObjects的全称。
用鼠标点check box (选 MapObjects 可用)。
你会看到MapObje
cts图标被加到VB工具栏内。
选地图控件,把鼠标移到表单中,拖动十字丝把矩形框尺寸调
到适当大小,释放鼠标,你的表单上就会有一个地图控件。
通过地图控件属性框或通过对Data connection和图层目标的编程,你可向地
图控件中增加地图数据。
你还可以继续添加其它控件,如命令按钮和工具条,或编写代码来调用属性
,事件和方法。
编写,调试,编译。
安装 MapObjects
一旦从CD-ROM中成功装入,下一步就是向VB工程中增加MapObjects
***************
***********
当你打开一个VB的工程,工具档中包含了一部份你已购买的 VB控件。
但并不是全部。
你会发现制定缺省控件装入从而把MapObjects 包括进去是十分方便的。
为达到上述目的,你可向C:
\Program Files\Microsoft Visral Basic\Avto 32 ld.v
bp中加入所需控件。
一但你把MapObjects加入,在每次开始新工程时,地图控件将被自动
装入。
你可自己制定一次装入控件的数量。
按需要决定控件的数量是一个好习惯。
这样会使
你的工程装入的快点且节省内存。
加入一地图控件
你可向任意VB表单中加入一个或多个地图控件。
*****************
*****************
当你向表单中加入一地图控件,最初它就象VB的图片框控件, 然而它的资源并不是位
图而是矢量或栅格数据的图层。
加入一图层
你可通过地图控件的属性窗或通过写代码来加入图层。
****************
***************
你可通过地图控件属性窗口增加图层也可采用在图层属性窗口中对图层目标赋属性的
办法加如图层。
地图控件属性窗和图层属性窗是连接地图控件和图层目标的某些属性的通道。
在实践中你可通过写代码来增加图层,因为你通常不能预言你的下级用户新需接的图
层在哪里。
下面是加入图层的例子:
Dim dCON As New MapObjects.DataConnection
Dim curLayer As New MapObjects.MapLayer
dCON.Database = "c:
\Data"
curLayer.GeoDataset = dCON.FindGeoDataset("Counties")
map1.Layers.Add curLayer
这是一段通用程序,下一章我们将进一步讨论MapObjects的数据通道(data access)目
标,将介绍更多的增加图层的程序。
编写代码和增加属性
以下是如何使用VB代码编辑器和设置属性:
***************************
************************
象其它所有控件一样,当在地图控件上打开VB代码窗时,你就会看到关于地图控件的
所有事件的代码结构。
在最后一部分,你会看到在地图控件属性表中可快捷设置地图控件的属性。
注意,在标准属性窗口中,地图控件的一些属性是不可见的。
这些属性是只读的。
我
们在后面会涉及。
取得MapObjects的帮助
MapObjects具有在线帮助系统,它包括MapObjects每一目标的属性,方法和事件,以
及常量的详细说明。
大多数帮助的主题下都有一小段程序例子,它可在VB下执行。
下面有三种办法可得到帮助:
你可点工具栏中地图控件并按F1。
可通过VB的目标浏览器与MapObjects的帮助建立联系。
可把VB编辑窗口的文本游标移到MapObjects的某一目标,属性或事件上按F1
。
一种最好的学习MapObjects的方法就是学习例子。
以下是使用例子的步骤:
在帮助的主题下点例子。
打开一新VB工程并加上一地图控件。
当表单是活动状态时按F7打开代码编辑器。
读例子的结构,并向表单中加入特定控件。
从例子中粘贴代码到代码编辑器中。
按F5或选择RUN。
你的例子将被运行。
运行工程
你可编写一小段应用程序。
加入地图控制并加入一个或多个图层。
在编写时你不会看
到任何图层显示出来。
但当程序运行时,你就会看到图层将掌满显示区域,如果没制定符
号属性(颜色、大小 、型),则缺省设置将自动启用。
1.5 使用OLE Automation objects
除了地图控件以外,MapObjects包括三十多个OLE Automation objects,这些目标是
MapObjects区别于同类产品的制图软件部件,它们提供了灵活性和多功能。
OLE Automation objects是编写交互的高效应用软件的关键。
使用目标浏览器
OLE Automation objects在打开VB之初并没有呈现出来。
但可在目标浏览中看到它们,点
View菜单中object Browser,在库/工程下拉框中选"Mapobjects-ESRI Mapobjects"你就会
在类/组件列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MapObjects