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


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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu 及衍生版本用户如何安装 SmartGit/HG

    Ubuntu 及衍生版本用户如何安装 SmartGit/HG

    2021年9月11日
    45
  • 抖音程序员表白专用代码教程(如何玩抖音)

    最近很多小伙伴都在抖音上看到了一个vbs表白代码这个玩法,感觉非常的有趣。那么这个是怎么弄的呢?其实很简单。下面小编为大家带来了具体的教程,快来看看吧!抖音vbs表白代码制作教程步骤一:在电脑上新建一个txt文件。步骤二:打开txt文件,复制以下代码粘贴进去(可以修改中文部分,其它代码不要动!)。保存并关闭txt文件。SetSeven=WScript.CreateObject(“WScript.S…

    2022年4月11日
    59
  • 前端模块化-总结_前端模块化规范

    前端模块化-总结_前端模块化规范直接上demo。index.jsx:importReactfrom”react”;importReactDOMfrom”react-dom”;import{Button}from”antd”;importResizeableTablefrom”./ResizeableTable”;import”./styles.css”;constdata1=[{key:0,date:”2018-02-11″,amount:

    2025年6月12日
    0
  • 计算机病毒模块测试题,计算机病毒分类测试题集

    计算机病毒模块测试题,计算机病毒分类测试题集以下有关计算机病毒分类的陈述______是正确的.A)病毒分为十二类B)病毒分为操作系统类型和文件类型C)没有分类D)病毒分为外壳型和侵入型根据计算机病毒的破坏能力,计算机病毒可分为A.良性病毒B.恶性病毒C.网络病毒D.引导病毒根据计算机病毒的存在方式进行分类,通常可以分为().A.复杂病毒B.引导病毒C.文件病毒D.网络病毒这个问题是一个选择题.请帮助给出正确的答案和分析,谢…

    2022年5月9日
    32
  • Word2Vec原理简单解析

    Word2Vec原理简单解析前言词的向量化就是将自然语言中的词语映射成是一个实数向量,用于对自然语言建模,比如进行情感分析、语义分析等自然语言处理任务。下面介绍比较主流的两种词语向量化的方式: 第一种即One-Hot编码是一种基于词袋(bagofwords)的编码方式。假设词典的长度为N即包含N个词语,并按照顺序依次排列。One-Hot编码将词语表示成长度为N的向量,每一向量分量代表词典中的一个词语,则One-Hot编码的词语向量只有一位分量值为1。假设词语在词典中的位置为k,那么该词语基于One-

    2022年5月13日
    42
  • pycharm激活码2022【2021.8最新】

    (pycharm激活码2022)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月26日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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