mapobjects入门Word格式.docx
- 文档编号:15153805
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:77
- 大小:107.84KB
mapobjects入门Word格式.docx
《mapobjects入门Word格式.docx》由会员分享,可在线阅读,更多相关《mapobjects入门Word格式.docx(77页珍藏版)》请在冰豆网上搜索。
所用平台就是可视化程序语言。
其结果就是精炼地程序快速经济地运行并且对特定的市场有很强的适应性。
1.2MapObjects的功能
通过MapObjects你可完成以下甚至更多功能:
•显示一张多图层地图(道路,河流,边界)。
•放大,缩小,漫游。
•生成图形元素,如点,线,圆,多边形。
•说明注记
•识别地图上被选中的元素。
•通过线,方框,区域,多边形,圆来拾取物体。
•拾取距某参照物特定范围内的物体。
•通过SQL描述来选择物体。
•对选取物体进行基本统计。
•对所选地图元素的属性进行更新,查询。
•绘制专题图。
•标注地图元素。
•从航片或卫星图片上截取图像。
•动态显示实时或系列时间组数据。
•在图上标注地址或定位。
本书开发了一系列通过VB,OLE,WinAPI扩展MapObjects的办法。
MapObjects可执行许多基础制图功能。
但它不能执行某些高级功能。
如,高质量地图输出,地图坐标系投影,表面模型或网络分析等高级空间分析。
以及拓扑编辑。
你可利用ESRI的其它产品如ARC/INFO,ArcView来实现高级功能。
1.3MapObjects简介
MapObjects包括一个OLE控件(OCX)叫做地图控件(Mapcontrol)和一组(三十多个)OLE目标(objects)。
它适用于工业标准程序环境。
如VB4.0,Delphi2.0,PowerBuilder,MSAccess等。
MapObjects不适用于最终用户。
它是为程序开发者设计的。
程序开发者可利用MapObjects开发应用程序并把这些程序提供给下一级用户使用。
MapObjects运行于Win95或WinNT3.51或更高。
最近,Mierosoft开始把OLEcontrols称作ActiveXcontrols。
本书将元素称为控件(OLEcontrols或OCXs),但这些术语可与新术语ActiveX互换。
MapObjects和OLEcontainers
OLEAutomationobject是一种可编程目标,它可通过OLEAutomationserver来通讯。
OLEcustomcontrol是一种软件元件,它可通过OLEcontainer实现特定功能。
OLEcontainer和OLEAvtomationServer就是VB,Delphi,Access,VFro。
OLEcustomcontrol有事件,属性和方法。
OLEAutomationobjects有属性和方法。
在OLEContainer中(如VB),你能联合使用MapObjects的目标和其它Customcontrols,及利用别的程序中的OLEAutomationobjects(如office)去建立应用程序。
部件软件的优势
▪MapObjects(通常叫OCXs)可容易地用OCXs建立程序而免去C++冗长的代码,你可发挥专长于设计,工程,制图,而不是软件。
▪你的MapObjects应用软件不多占用内存空间。
▪比其它Win支持的制图软件速度更快,MapObjects直接建立在MFC库上且优化执行。
▪你有极大的灵活性去建立用户接口。
你可在应用程序上建立几乎所有在Win95上见过的接口。
MapObjects的另一特点是,地图可以是程序中的主要元素也可是附属品。
因此MapObjects尤其适合vertical应用软件。
例如,你的软件可能主要是商用数据库,当查询时可在表单上高亮度显示与查询内容相关的地图。
1.4使用MapObjects
把一张地图加到VB的表单上十分容易,如图
***************
***********
用MapObjects编写程序的步骤:
▪从CD-ROM装入MapObjects。
▪启动VB在"
工具"
菜单下打开Customcontrols对话框。
如果安装成功你将看到ESRIMapObjects的全称。
用鼠标点checkbox(选MapObjects可用)。
你会看到MapObjects图标被加到VB工具栏内。
选地图控件,把鼠标移到表单中,拖动十字丝把矩形框尺寸调到适当大小,释放鼠标,你的表单上就会有一个地图控件。
▪通过地图控件属性框或通过对Dataconnection和图层目标的编程,你可向地图控件中增加地图数据。
▪你还可以继续添加其它控件,如命令按钮和工具条,或编写代码来调用属性,事件和方法。
▪编写,调试,编译。
安装MapObjects
一旦从CD-ROM中成功装入,下一步就是向VB工程中增加MapObjects
当你打开一个VB的工程,工具档中包含了一部份你已购买的VB控件。
但并不是全部。
你会发现制定缺省控件装入从而把MapObjects包括进去是十分方便的。
为达到上述目的,你可向C:
\ProgramFiles\MicrosoftVisralBasic\Avto32ld.vbp中加入所需控件。
一但你把MapObjects加入,在每次开始新工程时,地图控件将被自动装入。
你可自己制定一次装入控件的数量。
按需要决定控件的数量是一个好习惯。
这样会使你的工程装入的快点且节省内存。
加入一地图控件
你可向任意VB表单中加入一个或多个地图控件。
*****************
*****************
当你向表单中加入一地图控件,最初它就象VB的图片框控件,然而它的资源并不是位图而是矢量或栅格数据的图层。
加入一图层
你可通过地图控件的属性窗或通过写代码来加入图层。
****************
***************
你可通过地图控件属性窗口增加图层也可采用在图层属性窗口中对图层目标赋属性的办法加如图层。
地图控件属性窗和图层属性窗是连接地图控件和图层目标的某些属性的通道。
在实践中你可通过写代码来增加图层,因为你通常不能预言你的下级用户新需接的图层在哪里。
下面是加入图层的例子:
DimdCONAsNewMapObjects.DataConnection
DimcurLayerAsNewMapObjects.MapLayer
dCON.Database="
c:
\Data"
curLayer.GeoDataset=dCON.FindGeoDataset("
Counties"
)
map1.Layers.AddcurLayer
这是一段通用程序,下一章我们将进一步讨论MapObjects的数据通道(dataaccess)目标,将介绍更多的增加图层的程序。
编写代码和增加属性
以下是如何使用VB代码编辑器和设置属性:
***************************
************************
象其它所有控件一样,当在地图控件上打开VB代码窗时,你就会看到关于地图控件的所有事件的代码结构。
在最后一部分,你会看到在地图控件属性表中可快捷设置地图控件的属性。
注意,在标准属性窗口中,地图控件的一些属性是不可见的。
这些属性是只读的。
我们在后面会涉及。
取得MapObjects的帮助
MapObjects具有在线帮助系统,它包括MapObjects每一目标的属性,方法和事件,以及常量的详细说明。
大多数帮助的主题下都有一小段程序例子,它可在VB下执行。
下面有三种办法可得到帮助:
▪你可点工具栏中地图控件并按F1。
▪可通过VB的目标浏览器与MapObjects的帮助建立联系。
▪可把VB编辑窗口的文本游标移到MapObjects的某一目标,属性或事件上按F1。
一种最好的学习MapObjects的方法就是学习例子。
以下是使用例子的步骤:
▪在帮助的主题下点例子。
▪打开一新VB工程并加上一地图控件。
▪当表单是活动状态时按F7打开代码编辑器。
▪读例子的结构,并向表单中加入特定控件。
▪从例子中粘贴代码到代码编辑器中。
▪按F5或选择RUN。
你的例子将被运行。
运行工程
你可编写一小段应用程序。
加入地图控制并加入一个或多个图层。
在编写时你不会看到任何图层显示出来。
但当程序运行时,你就会看到图层将掌满显示区域,如果没制定符号属性(颜色、大小、型),则缺省设置将自动启用。
1.5使用OLEAutomationobjects
除了地图控件以外,MapObjects包括三十多个OLEAutomationobjects,这些目标是MapObjects区别于同类产品的制图软件部件,它们提供了灵活性和多功能。
OLEAutomationobjects是编写交互的高效应用软件的关键。
使用目标浏览器
OLEAutomationobjects在打开VB之初并没有呈现出来。
但可在目标浏览中看到它们,点View菜单中objectBrowser,在库/工程下拉框中选"
Mapobjects-ESRIMapobjects"
你就会在类/组件列表框中看到MapObjects的constants和目标。
▪点任意目标,在方法/属性列表框中就会有增加。
▪点任意方法或属性,你就会在目标浏览器底部看到一小段描述。
▪点question按钮,就会得到online帮助。
引用OLEAvtomationobjects
大多情况,用MapObjects就要用地图控件。
地图控件是一种可视化元素,然而有一些用MapObjects编制的应用程序并不需要地图控件。
你可以在VB的Reference窗口选中MapObjectsOLEAutomationobjects而不用增加地图控件。
在VB工具
注意,如果你把MapObjects加到VB的工具栏中,也就自动地引用了OLEAutomationobjects。
声明目标
当你声明或建立一新目标时,最好写全名,例:
DimrSetAsNewMapobjects.Recordset
而不是
DimrSetAsNewRecordset
这不仅可提高运行效率,也避免了潜在的命名矛盾。
如MapObjects的Recordset目标和VB的Recordset目标。
使用常量
本书涉及了所有MapObjects可用的常量,在设置变量或属性时可使用常量而不是数值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mapobjects 入门