示例#1
0
 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);
     }
 }
示例#2
0
        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);
        }