图层的基本功能开发.ppt_第1页
图层的基本功能开发.ppt_第2页
图层的基本功能开发.ppt_第3页
图层的基本功能开发.ppt_第4页
图层的基本功能开发.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图层的基本功能开发,用程序加载图层文件 图层基本属性设置 图层标注 图层控制,用程序加载图层文件,在同一文件夹中加载 在不同文件夹中加载 图层的卸载和移动 图层的选择和隐藏 综合例子演示,在同一文件夹中加载,如果你的程序和GIS图层文件(dbf、shp、shx等)在一个文件夹,图层为此文件夹下的中国各省和四川,加载程序如下:,Private Sub Form_Load() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path 设置当前文件夹为图层文件夹 If Not dc.Connect Then MsgBox “在指定的文件夹下没找到图层数据文件!“ End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(“中国各省“) Map1.Layers.Add layer Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(“四川“) Map1.Layers.Add layer Map1.Refresh End Sub,在不同文件夹中加载,由于在实际的应用程序中,图层文件和程序文件都很多,为了方便管理,一般程序文件和图层文件不放在一个文件夹中,推荐采用一个文件夹(如data)单独存放图层文件,而把各个程序文件和它并列放置。 例如应用程序文件夹路径为“D:MO”,程序在“D:MOProg”文件夹下,图层文件放在“D:MOdata”文件夹下,这时要用+“”返回上级文件夹。,Private Sub Form_Load() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + “ + “data“ If Not dc.Connect Then MsgBox “在指定的文件夹下没找到图层数据文件!“ End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(“中国各省“) Map1.Layers.Add layer Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(“四川“) Map1.Layers.Add layer Map1.Refresh End Sub,图层的卸载和移动,用语句: Map1.Layers.Remove 0 可以把第0层卸载。注意:卸载了一个图层后,其它图层的序号就发生了变化。 用语句: Map.Layers.Clear 可以一次卸载所有的图层。 可以用MoveTo方法来把图层从位置1移动到位置2,如果原来图层在第2层,可以用以下语句把它移动到第0层: Map1.Layers.MoveTo 2,0,图层的选择和隐藏,用图层的索引号: Set layer=Map1.Layers(0) 或图层名称: Set Layer=Map1.Layers(“图层名”) 来选择当前图层。 用语句: Layer.Visible=False 来隐藏当前图层。 另外,还可以通过设置Map1.Visible来隐藏或显示整个Map控件。,综合例子演示,请参照 第二章教案第二章代码图层的基本功能开发代码用程序加载图层文件中的“一个综合例子代码”,面状图层基本属性包括图层颜色、区域界限宽度、区域界限样式、区域界限颜色等; 线状图层的属性包括线宽度、线样式、线颜色等; 点状图层属性包括点大小、点样式、点颜色等; 另外还有属性的标注等。,图层基本属性设置,图层基本属性设置,设置图层颜色 设置区域界线 设置线属性 设置点属性 属性设置的综合示例,设置图层颜色,调试前面的程序,大家可以发现图层的颜色是随机出现的。 设置Symbol对象的Color属性,可以很容易地设置固定的图层颜色。 请参考第二章教案第二章代码图层的基本功能开发代码用程序加载图层文件图层基本属性设置代码里的“设置图层颜色”程序。 MO中常用的颜色可以参考帮助。,设置区域界线,当图层为面状图层时,用Layer.Symbol.Size可以设置区域界线的宽度, Layer.Symbol.Size1是较细的线型, Layer.Symbol.Size2是较粗的线型。 还可以用Layer.Symbol.OutlineColor设置区域界线的颜色,用Layer.Symbol.Style设置填充方式,具体方法请参照帮助。,设置线属性,当图层为线状图层时,用layer.Symbol.Size可以设置线的宽度,layer.Symbol.Size=1是较细的线型,layer.Symbol.Size2是较粗的线型。 还可以用Layer.Symbol.Color设置线的颜色,用layer.Symbol.Style设置线的样式,具体方法请参照帮助。,设置点属性,当图层为点状图层时,用layer.Symbol.Size可以设置点的大小,一般用36,3是较小的点,6是较大的点。 还可以用layer.Symbol.Color设置点的颜色,用layer.Symbol.Style设置点的样式,具体方法请参考帮助。,属性设置的综合示例,下面的例子为加载世界地图的国家(country)、河流(RIVERS)和主要城市(CITIES)三种不同的图层,再用不同的颜色和样式来设置。 请参照第二章教案第二章代码图层的基本功能开发代码图层基本属性设置代码里的“属性设置的综合示例”程序。,图层标注,利用MO的标注对象LabelRenderer,可以自动添加图层上对象的标注。 属性标注 设置图上字体,属性标注,属性标注方法为: Set Layer.Renderer=New LabelRender 设置标注对象 Layer.Renderer.Field=“Name” 指定要显示的字段 Layer.Renderer.AllowDuplicates=True允许标注重复 其中“Name”是保存标注名称的字段。 标注语句要加在图层添加语句: Map1.Layers.Add layer 的前面。,设置图上字体,以上的标注是按照缺省方式来设置的字体,还可以利用标注对象的Symbol数组,来自己动手设置更合适的字体。 请参考第二章教案第二章代码图层的基本功能开发代码图层标注代码中的“图层标注”程序,用程序添加图层时,系统会自动设置图层对象的序号,最后添加的为图层0,其上为图层1,依次类推。 在使用的时候,往往要打开或关闭一些图层,这可以使用Check控件来实现。但在图层较多时,利用Check控件来编写比较麻烦,可以利用MO提供的图层控制控件建立一个Legend,减少很多编程的工作量。,图层控制,图层控制,使用Check控件控制图层的显示 使用Check控件控制图层的文字标注 使用Legend控件 在Legend上显示中文图层名 在Legend上控制图层的标注,使用Check控件控制图层的显示,在Form上添加Check1控件,设置如下: Check.Caption=“城市” Check.value=1 (选中状态) 对图层0的控制程序如下: Private Sub Check1_Click() Set layer = Map1.Layers(0) If Check1.Value = 0 Then layer.Visible = False Else layer.Visible = True End If Map1.Refresh End Sub,使用Check控件控制图层的文字标注,用以上的方法,一个图层和它的文字标注在一起,只能同时被显示和隐藏。 在需要单独隐藏文字或者图形时,可以使用2个Check控件来加以控制。 请大家参考第二章教案第二章代码图层的基本功能开发代码图层控制代码使用Check控件控制图层的文字标注中的相应程序代码。,使用Legend控件,使用Legend组件,可以调用图层控制功能。 在【部件】中选择“ESRI MapObjects Legend Control”组件,添加一个Legend控件。,在Form_Load中写入: Legend.setMapSource Map1 Legend.LoadLegend True 再添加legend1_AfterSetLayerVisible过程,可以在取消和添加图层后刷新: Private Sub legend1_AfterSetLayerVisible(index As Integer, isVisible As Boolean) Map1.Refresh End Sub,在Legend上显示中文图层名,由于legend控件的图层名称是自动加上的,所以一般不能显示图层的中文名称。要在legend上显示中文名称,有以下两种方法: (1)把所有的图层文件改为中文,如把所有“Rivers”开头的文件全部变为“河流”。 (2)程序设定: Set LayerMap1.Layers(1) Layer.Name=“河流”,请大家参考第二章教案第二章代码图层的基本功能开发代码图层控制代码使用Legend控件下的相关程序代码。 运行程序后你可以发现,Legend控件不仅可以自动标上图层名称,而且可以上下拖动,改变加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论