void DoGpxWpt2Trk() { try { var xsrc = XDocument.Parse(this.Text); if (xsrc.Root?.Name.LocalName != "gpx") { throw new BizException("GPX document expected"); } var cnv = new GpxConverter(); var xrz = cnv.WptToTrk(xsrc.Root, this.KmlTitle, this.Description); var xdc = xrz.EnsureXDoc(); this.GpxResult = xdc.ToStringWithDeclaration(); } catch (Exception x) { this.ReportError(x); } }
public TrackForm() : base(ADInfoBll.Instance.GetWindowInfo("SD_Track")) { InitializeComponent(); this.MasterGrid.DataRowTemplate.Cells["VehicleName"].DoubleClick += new EventHandler(TrackForm_VehicleName_DoubleClick); this.MasterGrid.DataRowTemplate.Cells["StartTime"].DoubleClick += new EventHandler(TrackForm_StartTime_DoubleClick); var toolStrip = new ToolStrip(); toolStrip.Items.Add("ToGPX", null, new EventHandler(delegate(object sender, EventArgs e) { if (this.MasterGrid.CurrentRow == null) { return; } Track track = this.MasterGrid.CurrentRow.Tag as Track; if (track == null) { return; } var gpx = GpxConverter.ConvertToGpx(track); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.RestoreDirectory = true; saveFileDialog1.Filter = "GPX 文件(*.gpx)|*.gpx"; //saveFileDialog1.Title = "保存"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFileDialog1.FileName)) { sw.WriteLine(gpx); } } saveFileDialog1.Dispose(); })); toolStrip.Items.Add("ToKML", null, new EventHandler(delegate(object sender, EventArgs e) { if (this.MasterGrid.CurrentRow == null) { return; } Track track = this.MasterGrid.CurrentRow.Tag as Track; if (track == null) { return; } SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.RestoreDirectory = true; saveFileDialog1.Filter = "KML 文件(*.kml)|*.kml"; //saveFileDialog1.Title = "保存"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { Feng.Map.KmlHelper.GenerateTourKml(track, saveFileDialog1.FileName); } saveFileDialog1.Dispose(); })); toolStrip.Items.Add("ToCSV", null, new EventHandler(delegate(object sender, EventArgs e) { if (this.MasterGrid.CurrentRow == null) { return; } Track track = this.MasterGrid.CurrentRow.Tag as Track; if (track == null) { return; } SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.RestoreDirectory = true; saveFileDialog1.Filter = "CSV 文件(*.csv)|*.csv"; //saveFileDialog1.Title = "保存"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFileDialog1.FileName)) { sw.WriteLine("Time, X, Y"); var ps = TrackPointDao.GetTrackPoints(track); foreach (var i in ps) { sw.WriteLine(string.Format("{0}, {2}, {1}", i.GpsTime.ToString("yyyy-MM-ddTHH:mm:ss"), i.Latitude, i.Longitude)); } } } saveFileDialog1.Dispose(); })); base.MergeToolStrip(toolStrip); }