欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《跟踪层的应用》PPT课件.ppt

    • 资源ID:5650057       资源大小:1.05MB        全文页数:30页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《跟踪层的应用》PPT课件.ppt

    ,第7章 跟踪层(TrackingLayer)的应用,本 章 目 标,通过本章,能够使用 SuperMap Objects开发实现以下功能:1、添加几何对象到跟踪层,并高亮显示 2、移动跟踪层上的几何对象 3、掌握对象soTrackingLayer与Tracked事件的使用4、删除跟踪层几何对象5、动态跟踪,第7章 跟踪层的应用,第7章 跟踪层的应用,知识准备,跟踪层(TrackingLayer)是临时存储几何对象的场所,适用于几何对象变化频繁,需要经常动态刷新的各种应用,如导航图中的视野范围框随大地图窗口视野范围的变化而不断变化,量算距离和面积时量算位置的变化,GPS 接收机接收数据的实时变化。跟踪图层是一种特殊的图层,它位于所有图层(soLayer)的最上面,这个图层上绘制的空间对象不保存到数据源文件中。跟踪层上的数据没有属性数据。跟踪层中的所有对象都存储在内存中,刷新速度快,但在使用时,应避免将所有临时对象都放在跟踪层中,使跟踪层变成一个临时存储空间,这样会降低效率。,第7章 跟踪层的应用,预期效果,第7章 跟踪层的应用,7.1 添加几何对象到跟踪层,(一),第7章 跟踪层的应用,7.1 添加几何对象到跟踪层,(二),第7章 跟踪层的应用,语法描述Long soTrackingLayer.AddEvent(objGeometry As soGeometry,objStyle As soStyle,strTag As String)参数说明:,7.1 添加几何对象到跟踪层,第7章 跟踪层的应用,实例:在打开的图层上,用鼠标点击在跟踪层上添加点,并在点的位置添加“北京超图”字样文本。,窗体设计:添加一个Command 控件并将它的Caption改为“添加几何对象”。,实现步骤:(1)使用Action方法添加的跟踪点几何对象(2)在Tracked 事件中获取添加的点几何对象(3)设置该点对象添加到跟踪层上的显示风格soStyle(4)设置“北京超图”文本几何对象(5)设置文本几何对象添加到跟踪层的风格(6)添加几何对象和文本对象到跟踪层,7.1 添加几何对象到跟踪层,第7章 跟踪层的应用,代码:、使用 Action方法添加跟踪层几何对象Private Sub Command1_Click()/添加几何对象:通过Action触发Tracked事件 SuperMap1.Action=scaTrackPoint End Sub,、在 SuperMap_Tracked事件中将几何对象添加到跟踪层上 Private Sub SuperMap1_Tracked()功能:将几何对象添加到跟踪层上(同时添加文本对象)1 定义几何对象变量和风格对象变量 Dim objGeoPoint As soGeoPoint Dim objStyle As New soStyle 定义文本的相关对象 Dim objGeoText As New soGeoText Dim objTextPart As New soTextPart Dim objTextStyle As New soTextStyle,SuperMap1.Action=scaZoomIn SuperMap1.Action=scaZoomOutSuperMap1.Action=scaPanSuperMap1.Action=scaSelect SuperMap1.Action=scaRegionSelectSuperMap1.Action=scaEditCreatePoint,第7章 跟踪层的应用,2 获得几何对象 Set objGeoPoint=SuperMap1.TrackedGeometry 3 设置添加到跟踪层上几何对象的风格 With objStyle 点对象风格.PenColor=vbRed.PenWidth=5.SymbolStyle=1410 五角星.SymbolSize=80 End With With objTextPart 文本子对象.Text=北京超图.x=objGeoPoint.x.y=objGeoPoint.y End With With objTextStyle 文本风格.Color=vbBlue.FontName=黑体.FontHeight=10.FontWidth=10 End With,objGeoText.AddPart objTextPart 文本 Set objGeoText.TextStyle=objTextStyle风格 4 将几何对象添加到跟踪层上 SuperMap1.TrackingLayer.ClearEvents SuperMap1.TrackingLayer.AddEvent objGeoPoint,objStyle,R1 添加点 SuperMap1.TrackingLayer.AddEvent objGeoText,Nothing,R2 添加文本 SuperMap1.TrackingLayer.Refresh Set objGeoPoint=Nothing Set objGeoText=Nothing Set objTextPart=Nothing Set objTextStyle=Nothing End Sub,第7章 跟踪层的应用,运行结果:,第7章 跟踪层的应用,7.2 移动跟踪层上的几何对象,第7章 跟踪层的应用,7.2 移动跟踪层上的几何对象,第7章 跟踪层的应用,7.2 移动跟踪层上的几何对象,语法描述 soGeoEvent.Move(x As Double,y As Double)参数说明:,第7章 跟踪层的应用,7.2 移动跟踪层上的几何对象,语法描述 soGeoEvent.MoveTo(x As Double,y As Double)参数说明:,第7章 跟踪层的应用,实例:将6.1中添加的几何对象 X、Y方向移动各50单位,7.2 移动跟踪层上的几何对象,窗体设计:添加一个Command控件并将它的Caption 改为“移动几何对象”主要步骤:(1)获得跟踪层的点对象;(2)移动点对象。,第7章 跟踪层的应用,代码:Private Sub Command4_Click()移动几何对象 Dim objGeoEvent As soGeoEvent 1 获得跟踪层上几何事件对象 Set objGeoEvent=SuperMap1.TrackingLayer.Event(1)2 移动 objGeoEvent.Move 50,50 Set objGeoEvent=SuperMap1.TrackingLayer.Event(2)objGeoEvent.Move 50,50 Set objGeoEvent=NothingEnd Sub,7.2 移动跟踪层上的几何对象,第7章 跟踪层的应用,运行结果:,7.2 移动跟踪层上的几何对象,第7章 跟踪层的应用,7.3 删除跟踪层上的几何对象,删除实例分为删除指定实例和删除全部实例。删除指定实例不区分实例的类型,只要给定实例的索引号或标识名(Tag)。,Private Sub Command12_Click()Dim objTrackingLayer As soTrackingLayer Set objTrackingLayer=SuperMap1.TrackingLayer objTrackingLayer.RemoveEvent 1(或:ObjTrackingLayer.RemoveEvent“R1)objTrackingLayer.RefreshExEnd Sub,删除指定实例,第7章 跟踪层的应用,关于RefreshEx,跟踪层有两种刷新方法:soTrackingLayer.Refresh soTrackingLayer.RefreshEx Refresh 用来刷新整个跟踪层,RefreshEx 比 Refresh 更加智能,它仅刷新当前时刻发生位置变化的对象,避免整个图层的闪动。SuperMap 控件自身在刷新的同时也刷新了跟踪图层。这种刷新只是针对地图窗口而提供的方法;跟踪图层的刷新只局限于跟踪层,其它的层都不刷新;因此,跟踪图层的刷新速度比 SuperMap 自身的刷新要快得多。,第7章 跟踪层的应用,删除全部实例将从跟踪图层上清除掉所有的临时对象,不区分实例的类型,恢复跟踪图层原来的面貌。代码:objTrackingLayer.ClearEvents objTrackingLayer.Refresh,删除全部实例,第7章 跟踪层的应用,7.4 动态移动并闪烁示例(应用),SuperMap 中开放了一些对TrackingLayer 操作的事件,在这些事件中用户可以用程序来控制跟踪的过程,通过组合这些事件可以实现内容丰富的动态目标移动、闪烁等功能,开放的事件如下:SuperMap_AfterTrackingLayerDraw 绘制跟踪图层之后触发 SuperMap_BeforeTrackingLayerDraw 绘制跟踪图层之前触发 SuperMap_Tracking 内存中绘制对象过程中触发 SuperMap_Tracked 内存中绘制对象结束后触发,第7章 跟踪层的应用,7.4 动态移动并闪烁示例(应用),第7章 跟踪层的应用,代码:定义公共变量 Dim Points As soPoints 定义点集合变量 Dim nCurPoint As Long 定义点实例的计数器 Dim styTracking As New soStyle 定义风格变量 Dim ln As soGeoLine 定义线对象变量 Dim lnNew As soGeoLine 定义线对象变量 Dim dLen As Double 定义长度变量 Dim CurGeome As soGeometry 定义空间对象变量 SuperMap 上任意绘制一根折线(在Command中绘制)SuperMap.Action=scaTrackPolyline,示例:在系统中实现跟踪图层的跟踪 实现思路:(1)在SuperMap1中绘制一根折线;(2)在 SuperMap的 Tracked 事件中获取该折线,进行 40 等分;(3)在时间控件Timer事件里依次在折线的每一个节点上显示一个点实例,模拟画线的路径,从而完成点的动态移动和闪烁。,第7章 跟踪层的应用,在 SuperMap 的 Tracked 事件中获取折线并生成新的折线:,Set CurGeome=SuperMap1.TrackedGeometry 获取TrackingLayer 上的线对象 If CurGeome.Type=scgLine Then Set ln=CurGeome End If If Not(ln Is Nothing)Then styTracking.PenColor=vbBlue 设置折线的显示风格 styTracking.PenWidth=6 dLen=ln.Length,第7章 跟踪层的应用,对折线进行重采样,等距分为40段 Set lnNew=ln.ResampleEquidistantly(dLen/40)If Not(lnNew Is Nothing)Then Set Points=lnNew.GetPartAt(1)获取采样后折线的点集合 nCurPoint=1 点计数器当前值为 1 Timer1.Interval=500 设置定时器触发两次事件之间的毫秒数 启动定时器响应事件开关,触发Timer1_Timer()事件 Timer1.Enabled=True End If End If End Sub,GetPartAt(1)说明:获取复合对象的一个子对象 参数:子对象的索引(从1开始)。,第7章 跟踪层的应用,在时间控件Timer 事件中,跟踪层显示并移动红点,表示对线的跟踪,Private Sub Timer1_Timer()If Not(Points Is Nothing)Then If Points.Count nCurPoint Then Dim pnt As New soGeoPoint 创建点对象变量 Dim style As New soStyle 创建风格对象变量 pnt.x=Points.Item(nCurPoint).x 获取点实例的 X 坐标 pnt.y=Points.Item(nCurPoint).y 获取点实例的 Y 坐标 style.PenColor=255 定义点实例的风格 style.SymbolSize=96 style.SymbolStyle=1,思考:Points.Count=?,第7章 跟踪层的应用,SuperMap1.TrackingLayer.ClearEvents 清除所有实例 SuperMap1.TrackingLayer.AddEvent lnNew,styTracking,增加线实例 SuperMap1.TrackingLayer.AddEvent pnt,style,增加点实例 SuperMap1.TrackingLayer.Refresh 刷新 nCurPoint=nCurPoint+1 定位下一个点的索引 Else SuperMap1.TrackingLayer.ClearEvents 清除所有实例 SuperMap1.TrackingLayer.Refresh 刷新跟踪图层 Timer1.Enabled=False 停止点实例的跟踪 End If End IfEnd Sub,第7章 跟踪层的应用,运行结果:,

    注意事项

    本文(《跟踪层的应用》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开