ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:69KB ,
资源ID:6528687      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6528687.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(实验五图层加载与显示控制.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

实验五图层加载与显示控制.doc

1、GIS二次开发—使用MapObjects 实验五 图层加载与显示控制 一、实验目的 1. 学习程序运行前、运行时MO图层加载的方法 2. 学习SHP图层、SDE图层、CAD 、Coverage图层图层加载和栅格数据加载方法 3. 学习图层顺序控制、显示与否控制、矢量图层色彩控制等 二、实验内容 1. 运用各种不同的方法加载各种矢量图层数据 2. 运用各种方法加载栅格图层数据 3. 图层的上移、下移、隐藏、放大、缩小、漫游 三、实验环境与数据 VB6 MapObjects2.4 Xiangprj.shp Ntschool.shp 四、实验要求 1. 掌握程序

2、运行前、运行时MO图层加载的方法。 2. 掌握SHP图层、Coverage图层、SDE图层、CAD图层加载和栅格数据加载方法。 3. 掌握图层顺序控制、显示与否控制、矢量图层色彩控制等。 五、实验任务 (一)程序演示 1、 演示Shp矢量图层的加载 2、 演示不同格式的栅格图层的加载 3、 演示ArcInfo的Cov格式的图层加载 4、 演示SDE图层的加载 5、 演示CAD图层的加载 6、 显示与隐藏演示 7、 图层顺序控制演示 8、 放大与缩小演示 9、 漫游与全图演示 (二)实现方法 1、 Shp矢量图层的加载 Shp矢量数据的加载分为四个过程: 步骤一

3、 通过定义一个地理数据连接对象Dc,确定Dc连接的数据库,从而建立一个到包含Shp文件的文件夹的连接 步骤二 使用FindGeodataset方法在新建的数据连接下的查找需要的地理数据集合 步骤三 建立一个矢量图层对象,将找到的地理数据集合赋给矢量图层对象的地理数据集合属性 步骤四 将矢量图层添加到地图控件中,刷新地图 将以上过程编写成VB代码如下: '定义一个地理数据连接对象dc '定义一个地理数据集对象gs '定义一个矢量图层对象mlyr Dim dc As New mapobjects2.DataConnection Dim gs As mapobjects2.GeoD

4、ataset Dim Mlyr As New mapobjects2.MapLayer '确定地理数据连接对象dc的属性 dc.Database = "E:\mydoc\GIS二次开发\data" '判断连接是否成功 If dc.Connect Then '查找连接对象中指定名称的地理数据集 Set gs = dc.FindGeoDataset("newcun") End If '判断是否是符合要求的地理数据集 If Not gs Is Nothing Then '将找到的地理数据集赋给mlyr的地理数据集对象 Set Mlyr.GeoDataset = gs E

5、nd If '判断图层是否有效 'If mlyr.Valid Then '将图层加载到地图中 Map1.Layers.Add Mlyr '刷新地图 Map1.Refresh 'End If MsgBox gs.Name 这是直接指定Shp文件所在的文件夹的加载方法,也可以通过通用对话框方式加载。但是基本过程一样。所不同的只是修改数据联接对象的数据库属性和地理数据集的名称属性。具体方法参见实验一。 2、 不同格式的栅格图层的加载 栅格数据加载的方法比较简单,包括一下三个过程: 步骤一 定义一个栅格图层对象ilyr 步骤二 确定这个栅格图层对象使用的栅格数据文件 步

6、骤三 将这个栅格图层对象加载到地图控件中 代码如下: '定义一个栅格图层对象 Dim ilyr As New mapobjects2.ImageLayer '确定这个对象使用的栅格数据文件 ilyr.File = "E:\mydoc\GIS二次开发\data\南通市区图.jpg" '将这个图层对象加载到地图控件中 Map1.Layers.Add ilyr '刷新地图 Map1.Refresh 栅格数据的加载也可以使用通用对话框,不仅利用通用对话框选择文件,也可以利用通用对话框选择不同的栅格数据类型。MapObjects支持的栅格数据类型由安装时的选项确定。 3、 SDE图

7、层的加载 SDE是空间数据引擎的简称,空间数据引擎是操作保存在数据库中的空间数据的软件工具。由于需要操作数据库,所以必须用符合数据库的要求使用数据库。数据库保存了大量的数据,为了安全使用必须使用具有用户权限的用户名和密码,因此在连接SDE时首先需要明确连接的数据库服务器是什么、用户名是什么、密码、数据库。 具体过程如下: 步骤一 建立数据库连接对象,定义数据库连接对象的各种属性,包括服务器、用户名、密码、数据库 步骤二 建立地理数据集对象,运用FindGeodataset方法寻找新建连接下的地理数据集 步骤三 建立矢量图层对象,将找到的地理数据集赋给图层对象的地理数据集属性 步骤四

8、 添加图层 步骤五 刷新地图 Vb代码如下: '定义一个地理数据连接对象dc Dim dc As New MapObjects2.DataConnection '定义一个地理数据集对象gs Dim gs As MapObjects2.GeoDataset '定义一个矢量图层对象lyr Dim lyr As New MapObjects2.MapLayer '定义数据库连接对象需要连接的SDE数据库,一般是主机名或者IP地址, '但是由于不同SDE使用的连接中间件不同,因此需要明确SDE版本。 dc.Server = "SDE90:ntu" 'SDE数据库用户名 d

9、c.User = "sa" 'SDE数据库用户密码 dc.Password = "sa" '确定数据库实例,只要使用SDE,都是"ESRI_SDE" dc.Database = "esri_sde" '判断连接是否成功 If dc.Connect Then '遍历该连接下的所有地理数据集 For Each gs In dc.GeoDatasets '将每个地理数据集赋给图层对象 Set lyr = New MapLayer MsgBox gs.Name Set lyr.GeoDataset = gs Map1.Layers.Ad

10、d lyr Next End If 4、 CAD图层的加载 CAD数据加载过程与Shp类似,但是由于CAD是点、线、面、标注共享一个图层的,因此需要对不同类型的地物进行区分。利用findGeodataset寻找地理数据集时所使用的参数应该是完整的文件名,而不是去除扩展名的主文件名。 在数据连接对象的数据库属性前需要加上“[CAD]”,表示使用的是CAD数据 CAD采取的是点线面共存的数据存储方式,在Map控件中使用时,需要指明类型,线文件在数据连接对象的数据库属性字段前加“[CADline]”,但是由于线对象是默认的,所以可以不加,但对于其它数据则必须加,点数据加“[CADpoin

11、t]”面数据加“[CADarea]”,文本数据加“[CADarea]”。 Vb代码如下: '建立矢量图层对象 Dim maplyr As New MapObjects2.MapLayer '建立地理数据连接对象 Dim dc As New MapObjects2.DataConnection '建立地理数据集对象 Dim gs As New MapObjects2.GeoDataset '定义地理数据连接对象的Database属性,需要在文件夹前加载[CAD] dc.Database = "[CAD]E:\mydoc\GIS二次开发\data" '运用FindGeodata

12、set方法查找需要加载的地理数据,使用全名 Set gs = dc.FindGeoDataset("PARCELS.DWG") '将地理数据集赋给矢量图层对象 Set maplyr.GeoDataset = gs '将矢量图层加载到地图中 Map1.Layers.Add maplyr Map1.Refresh 5、 ArcInfo的Cov格式的图层加载 基本过程与shp数据加载方法相同。 '定义一个数据库连接对象dc Dim dc As New MapObjects2.DataConnection '定义一个矢量图层对象 Dim mlyr As New MapObj

13、ects2.MapLayer '定义数据库连接对象的数据库属性,这时由于ArcInfo工作空间 '中的文件组织方式不同,添加地理数据集时需要使用地物类名和类型后缀。 CommonDialog1.Filter = "Coverage格式的文件(*.pat)|*.pat" CommonDialog1.ShowOpen Dim fname As String Dim dname As String dname = CommonDialog1.FileName MsgBox dname fname = ReturnCovName(dname) MsgBox fname

14、 fname = fname + ".pat" dname = Left(dname, Len(dname) - 13) MsgBox dname dc.Database = dname MsgBox fname Set mlyr.GeoDataset = dc.FindGeoDataset(fname) Map1.Layers.Add mlyr 但是由于Cov是一种特殊的数据格式,因此在加载时需要进行很多字符串处理,为了简化,我们采用下列代码直接加载数据: Dim dc As New DataConnection Dim lyr As MapLayer

15、 dc.Database = "[arc]" + App.Path + "\..\" + "data02" If dc.Connect Then Set lyr = New MapLayer Set lyr.GeoDataset = dc.FindGeoDataset("ADI.PAT") Map1.Layers.Add lyr Else MsgBox "数据文件错误。" End If Map1.Refresh showLyrName 6、 显示与隐藏 Map控件的显示与隐藏:Map1.Visible = Not Map1.Vi

16、sible 图层的显示与隐藏: Map1.Layers(0).Visible = Not Map1.Layers(0).Visible Map1.Refresh 7、 图层顺序控制 要实现图层的顺序控制,首先需要将图层现有顺序排列出来,我们使用List控件进行,具体过程如下: 步骤一 新建一个List控件 步骤二 对地图控件中的每一个图层,将其名称添加到list控件中 由于这个过程反复使用,因此将其写成子过程。 Sub ShowLyrName() List1.Clear '首先清空 Dim lyr As New mapobjects2.MapLayer

17、 For Each lyr In Map1.Layers List1.AddItem lyr.Name Next lyr End Sub 但是如果Map中含有ImageLayer,就会出错,这是因为MapLayer类型与ImageLayer类型完全不同,不能相互替代,需要着一个它们的父类,因此程序修改为 Sub ShowLyrName() List1.Clear '首先清空 Dim lyr As Object For Each lyr In Map1.Layers List1.AddItem lyr.N

18、ame Next lyr End Sub 上移过程: Dim i As Integer Dim lyr As Object i = List1.ListIndex If i < 0 Then Exit Sub If i = 0 Then MsgBox "该图层已经到顶,无法上移。" Else Map1.Layers.MoveTo i, i - 1 Map1.Refresh List1.Clear For Each lyr In

19、Map1.Layers List1.AddItem lyr.Name Next List1.Selected(i - 1) = True End If 下移过程: Dim i As Integer Dim lyr As Object i = List1.ListIndex If i < 0 Then Exit Sub If i = Map1.Layers.Count - 1 Then MsgBox "该图层已经到底,无法下移。" Else

20、 Map1.Layers.MoveTo i, i + 1 Map1.Refresh List1.Clear For Each lyr In Map1.Layers List1.AddItem lyr.Name Next List1.Selected(i + 1) = True End If 置顶过程: If List1.ListIndex < 0 Then Exit Sub Map1.Layers.MoveToTop List1.ListIndex Map1

21、Refresh List1.Clear Dim lyr As Object For Each lyr In Map1.Layers List1.AddItem lyr.Name Next List1.Selected(0) = True 置底过程: If List1.ListIndex < 0 Then Exit Sub Map1.Layers.MoveToBottom List1.ListIndex Map1.Refresh List1.Clear Dim lyr As Object For Each lyr In Map1.Layers List1.AddItem lyr.Name Next List1.Selected(Map1.Layers.Count - 1) = True 8、 放大与缩小:参照实验一自己完成。 9、 漫游与全图:参照实验一自己完成。 (三)练习 首先对单个功能进行试验,然后调整实验一设计的界面,将以上功能集成到实验一软件中去。 六、实验报告 将Map控件中不同地图数据的加载方法做一个比较,将比较结果写成实验报告。 - 6 -

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服