实例85 GIS组件——Mapobject深入开发.docVIP

  • 3
  • 0
  • 约3.46千字
  • 约 7页
  • 2018-09-29 发布于江苏
  • 举报
实例85 GIS组件——Mapobject深入开发

实例85 GIS组件——Mapobject深入开发 实例说明 本例图1 在Delphi中调用MapObject组件 核心技巧 MapObject强大的功能使它成为许多GIS开发人员首选的二次开发组件,而Delphi在组件开发上优势也可以完全显露出来。因此,本例使用MapObject+Delphi的开发模式进行了GIS组件的深度开发。本例不但实现了GIS图层的显示和浏览,还显示了图层对应的数据库内容。这对于很多情况下都是非常必要的功能。 本例用的MapObject2是测试版(图85-2),可以从ESRI的网站()上下载,大小是48.6M。下载安装MapObject后,系统会对这个控件进行注册,然后可以按照前面介绍的方法,通过Component|Imaport ActiveX control…来引入这个控件加以使用。控件导入后会默认添加到ActiveX面板中。另外,默认情况下会在目录….\Borland\…\Imports下生成一个MapObjects2_TLB.pas的单元文件。打开这个文件,会发现MapObjects2及其它组件的所有属性和方法都列在这里(图85-3)。 图85-2 MapObject 2提示界面 图85-3 MapObjects 2及其控件的属性和方法 MapObject2封装了总共45个控件的属性和方法,因此使得二次开发工作非常容易。当然,如果加上Memory Table和Lengend等控件的话还可以实现更加强大的功能。本例实现的只能满足一般的开发要求,如果要进一步深入的话,还需要加以改进。 本例的原始对象(图层)的实现流程如下:地图扫描→在MapInfo中进行地图的数字矢量化→转化为ArcView支持的Shape文件。图85-4是本例的地图文件在ArcView中的显示。 图85-4 本例地图文件在ArcView中的显示 GIS地图文件氛围矢量部分和属性数据库部分。本例还实现了图层的属性数据库的响应。这是通过在同一个数据库中对表格进行相应的选取来实现的。具体的方法见程序。 实现步骤该应用程序的实现步骤如下:|New|Application,新建一个程序文件。 2.按照前面介绍的ActiveX控件的添加和安装方法添加GIS控件——MapObject2。 3.向Form中拖入一个MapObject。由于使用的是注册版,所以在添加的时候会出现图85-2的界面,提醒版权和控件介绍。同时向Form中添加Table、DataSource、Button、ListBox和Label等控件。 4.属性设置。最主要的设置MapObject控件的属性。MapObject2的属性设置是通过双击或右击选择“特性”来实现的,如图85-5。 图85-5 MapObject属性设置 选中一个图层对象,然后单击Properities(属性),就可以设置图层的相关属性了,如图85-6所示 图85-6 图层对象属性设置 然后,设置Table的Database为选取ESRI ShapeFile Data Source(不设置Table Name),设置Datasource的Dataset为Table1。 5.添加代码。 双击按钮“显示效果”,添加下列代码将地图图层添加到ListBox中。 procedure TForm1.Button1Click(Sender: TObject); Var olayer:Layers; i:Integer; begin olayer:=Map1.Layers;   //设置图层变量 For i:=0 To olayer.Count-1 Do ListBox1.Items.Add(IntToStr(i));  //将当前图层添加到列表框中 end; 本例最主要的还是ListBox1的OnClick事件中的代码,用于激活当前图层和显示相应的属性数据对象。 procedure TForm1.ListBox1Click(Sender: TObject); begin //建立与数据库的连接 Case ListBox1.ItemIndex Of 0:Begin //选中图层1的响应 Map1.Layers.MoveToTop(0);  //将选中的图层作为最顶层 Table1.close;  //将先前的表格关闭 Table1.TableName:=学生公寓; //新的表格名 Table1.Active:=True;   //激活表格 Label1.Caption:=学生公寓;   //显示表格名 End; 1:Begin //选中图层2的响应 Map1.Layers.MoveToT

文档评论(0)

1亿VIP精品文档

相关文档