arcgis二次开发动态追踪以及提高

arcgis二次开发动态追踪以及提高 前几天呢,想做动态追踪,发现这篇文章(https://blog.csdn.net/anlidengshiwei/article/details/41545301)写的不错,功能实现了之后,感觉可以更好,所有就自己就试着写了一下,本人新手,还望大家多多包涵;第一种方法,小车点的行进路径该有鼠标动态获取; double[]arrx=newdouble[1000];…

大家好,又见面了,我是你们的朋友全栈君。

  前几天呢,想做动态追踪,发现这篇文章(https://blog.csdn.net/anlidengshiwei/article/details/41545301)写的不错,功能实现了之后,感觉可以更好,所有就自己就试着写了一下,本人新手,还望大家多多包涵;

第一种方法,小车点的行进路径该有鼠标动态获取;  

        double[] arrx=new double[1000];
        double[] arry=new double[1000];
        int i = 0;
        private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
        {
            arrx[i] = e.mapX;
            arry2[i] = e.mapY;
            i++;
        }

这是鼠标点击事件事件,获取用来获取点的坐标,

 private void timer1_Tick(object sender, EventArgs e)
        {
            if (s < i)
            {
                dx = arrx[s];
                dy = arry2[s];
                MoveCar();
                s++;
            }
            else {
                this.timer1.Dispose();
                MessageBox.Show("走完了");
               
            }
          
           
        }

这是对控件time1的处理

private void MoveCar()
        {
            //得到当前活动范围  

            IActiveView pActiveView = axMapControl1.ActiveView;
            //开始画笔   
            pActiveView.ScreenDisplay.StartDrawing(pActiveView.ScreenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache);
            IPoint ppoint;
            IGeometry pgeo;
            IPictureMarkerSymbol psymbol = new PictureMarkerSymbolClass();
            IRgbColor prgbcolor = new RgbColorClass();
            prgbcolor.Red = 0;
            prgbcolor.Green = 0;
            prgbcolor.Blue = 0;

            psymbol.BitmapTransparencyColor = prgbcolor;
            psymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureBitmap, @"C:\Users\deng\Desktop\毕业设计\NodeAnimation\Command1.bmp");
            psymbol.Size = 15;
            psymbol.Angle = 270;

            //ISimpleMarkerSymbol psimplesymbol = new SimpleMarkerSymbolClass();  
            //psimplesymbol.Size = 10;  
            //psimplesymbol.Color = (IColor)prgbcolor;  

            ppoint = new PointClass();
            ppoint.PutCoords(dx, dy);
            pgeo = ppoint;

            pActiveView.ScreenDisplay.SetSymbol((ISymbol)psymbol);
            pActiveView.ScreenDisplay.DrawPoint(ppoint);
            //结束画笔  
            pActiveView.ScreenDisplay.UpdateWindow();
            pActiveView.ScreenDisplay.FinishDrawing();
            //System.Object obj = psymbol;  
            //this.axMapControl1.DrawShape(pgeo, ref obj);  

            //this.axMapControl1.CenterAt(ppoint);  
            IEnvelope penv = this.axMapControl1.Extent;
            penv.CenterAt(ppoint);
            this.axMapControl1.Extent = penv;
        }

这是主要方法,与我之前学习的文章相同.

 private void toolStripButton1_Click(object sender, EventArgs e)
        {
            this.timer1.Enabled = true;
            this.timer1.Interval = 1000;     
        }

这是启动运行的方法

 int s = 0;
        double dx = 112.906;
        double dy = 27.912;
        IActiveView pactiveview;  
        public Form1()
        {
            InitializeComponent();
            timer1.Enabled = false;
            this.axToolbarControl1.SetBuddyControl(this.axMapControl1);
            pactiveview = this.axMapControl1.ActiveView;  
        }

运行之后可以在地图点击多个点,在点击

toolStripButton1

这个控件就会按照我们所选的位置行动

源码

https://download.csdn.net/download/qq_27380923/10373709


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163437.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 错误: 找不到符号遇到的几种情况

    java 错误: 找不到符号遇到的几种情况今天在学习java面向对象的时候写了两个类,在运行时出现了以下错误:然后下面是我的两个java类publicclassArrayTool{ ArrayTool(){ } publicintgetMax(int[]arr){ intmax=0; for(inti=0;i

  • java 四舍五入保留小数

    java 四舍五入保留小数//方式一:doublef=3.1516;BigDecimalb=newBigDecimal(f);doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); //方式二:newjava.text.DecimalFormat(“#.00”).format(3.1415926);

  • arm和x86对比_arm和intel关系

    arm和x86对比_arm和intel关系信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼。今天小编就带你深入了解CPU的这两大架构:ARM和X86。以后出去装X就靠它了! ##重温下CPU是什么鬼##  中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发

    2022年10月14日
  • JavaScript高级程序设计(第3版)中文在线阅读,也可以免费下载~

    JavaScript高级程序设计(第3版)中文在线阅读,也可以免费下载~在线阅读地址:http://www.chinastor.org/upload/2014-12/14122310427265.pdf百度网盘:https://pan.baidu.com/s/1hsZUXzm密码:nlul

  • 防止站点数据被採集——成佩涛黑客「建议收藏」

    防止站点数据被採集——成佩涛黑客

  • 热插拔——矿机先行利器[通俗易懂]

    热插拔——矿机先行利器[通俗易懂]IPFSFilecoin上线在即,准备挖矿的小伙伴们已近磨刀霍霍了,都在积极选择自己心仪的矿机。但是如今市场上矿机众多,对于矿机的配置也是众说纷纭,相信许多的小伙伴也是十分茫然,当然,星际魔方今天只谈专业IPFS矿机,家用电脑组装的矿机我们后期再谈。工欲善其事,必先利其器。Fliecoin挖矿就是一种优质资源竞争的行为。形象理解就类似于嘀嘀打车,一个人想去另一个地方,在滴滴下单,司机开始抢单…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号