移动目标在三维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

原文地址:https://www.cnblogs.com/luwl/p/6944491.html