更新轨迹 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); } }