zoukankan      html  css  js  c++  java
  • 移动目标在三维GIS中的实现方法

    对于基于ArcGIS Runtime的应用程序,其实现方法比较简单,可以直接更新图形的Geometry属性,即可实现位置的移动:

     1         private void AddGraphics()
     2         {
     3             var glyr = new GraphicsOverlay();
     4             glyr.SceneProperties.SurfacePlacement = SurfacePlacement.Absolute;
     5             map1.GraphicsOverlays.Add(glyr);
     6 
     7             var ptn = new MapPoint(0, 0, 1000000, SpatialReferences.Wgs84);
     8             var sym = new SimpleMarkerSceneSymbol(SimpleMarkerSceneSymbolStyle.Sphere, Colors.Yellow, 100000, 100000, 100000, SceneSymbolAnchorPosition.Center);
     9             var g = new Graphic(ptn, sym);
    10             glyr.Graphics.Add(g);
    11             Timer timer = new Timer(1000);
    12             timer.Elapsed += async (sender, e) => await Task.Run(()=> { UpdateGraphics(g); });
    13             timer.Start();
    14         }
    15 
    16         private void UpdateGraphics(Graphic g)
    17         {
    18             var old_ptn = g.Geometry as MapPoint;
    19             var new_ptn = new MapPoint(old_ptn.X+1, 0, 1000000, SpatialReferences.Wgs84);
    20             g.Geometry = new_ptn;
    21         }

    对于基于ArcGIS JavaScript API的Web应用,则需要通过external-renderer来进行实现动画渲染。

    具体可以参加以下示例:https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=scene-external-renderer

  • 相关阅读:
    react axios 跨域访问一个或多个域名
    基础复习1
    Webpack笔记
    小程序笔记下
    小程序笔记上
    webpack-dev-server的使用
    webpack资源加载常用配置
    vue实现组件切换的两种方式
    vue实现一个评论列表
    子组件调用父组件的数据及方法
  • 原文地址:https://www.cnblogs.com/luwl/p/6944491.html
Copyright © 2011-2022 走看看