更新轨迹 MapInfo操作

来源:互联网 发布:如何快速学习php 编辑:程序博客网 时间:2024/05/22 13:50
 private void UpdateTrack(string tableName, string layerName,DPoint newPos)        {            Table table = Session.Current.Catalog.GetTable(tableName);            if (table != null)            {                SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("");                Feature feature = Session.Current.Catalog.SearchForFeature(table, si);                if (feature != null)                {                    DPoint offPoint = new DPoint(newPos.x - feature.Geometry.Centroid.x, newPos.y - feature.Geometry.Centroid.y);                    feature.Geometry.GetGeometryEditor().OffsetByXY(offPoint.x, offPoint.y, DistanceUnit.Degree, DistanceType.Spherical);                    feature.Geometry.EditingComplete();                    feature.Update();                }            }        }        private void UpdatePos()        {            double x = 119.8, y = 31.8;            for (int i = 0; i < 400; i++)            {                x = x - 0.002;                DPoint newPos = new DPoint(x, y);                //UpdateTrack("cc", "cc", newPos);                this.Invoke(new InvokeMethod(UpdateTrack), new object[] { "cc", "cc", newPos });                Thread.Sleep(300);            }        }


原创粉丝点击