示例#1
0
 public string ShowUserTrajectories(int id)
 {
     if (id == -1)
     {
         return(GPSTrajectoryWriter.TrajectoriesToJson(myUserTrajectories.GPSTrajectoriesData));
     }
     else
     {
         return(GPSTrajectoryWriter.TrajectoriesToJson(myUserTrajectories.GetTrajectoriesByUserID(id)));
     }
 }
示例#2
0
        public string SimplifyGPSTest()
        {
            Random r       = new Random();
            int    index   = r.Next(myUserTrajectories.GPSTrajectoriesData.Count);
            var    path    = myUserTrajectories.GPSTrajectoriesData[index];
            string oldjson = GPSTrajectoryWriter.SingleTrajectoryToBaiduMapJson(path);
            //获取简化后的轨迹
            GPSDouglasSimplification gds = new GPSDouglasSimplification(path, 20);
            var newpath = gds.Excute();

            return(oldjson + "\n" + GPSTrajectoryWriter.SingleTrajectoryToBaiduMapJson(newpath));
        }
示例#3
0
        public string TestRTree()
        {
            Random        r     = new Random();
            int           index = r.Next(myUserTrajectories.GPSTrajectoriesData.Count);
            StringBuilder roads = new StringBuilder();
            var           path  = myUserTrajectories.GPSTrajectoriesData[index];

            for (int i = 0; i < path.GPSCount; i++)
            {
                //这里的查询可以优化
                var result = myRoadNetwork.RoadSegmentRtree.Query(new Envelope(path[i]));
                foreach (RoadSegment item in result)
                {
                    roads.Append(item.ToString() + "\n");
                }
            }
            return(GPSTrajectoryWriter.SingleTrajectoryToBaiduMapJson(path) + "\n" + roads.ToString());
        }
示例#4
0
        private static void GPSTraceToShp()
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter           = "文本文件|*.txt;*.csv";
            ofd.RestoreDirectory = true;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                Console.WriteLine("Application thread ID: {0}",
                                  Thread.CurrentThread.ManagedThreadId);
                var gpsData = GPSIO.GPSTrajectoryReader.ReadAll(ofd.FileName);
                var t       = Task.Run(() =>
                {
                    GPSTrajectoryWriter.ExportGPSTrajectoriesToShapefile("GPSTraces.shp", gpsData.GPSTrajectoriesData);
                    Console.WriteLine("Data Transform Completed!");
                    Console.ReadKey();
                });
                Console.Write("Please wait for completition");
                t.Wait();
            }
        }
示例#5
0
 /// <summary>
 /// 导出轨迹数据到shapefile
 /// </summary>
 public void ExportGPSData()
 {
     GPSTrajectoryWriter.ExportGPSTrajectoriesToShapefile("GPSShapefile.shp", myUserTrajectories.GPSTrajectoriesData);
     MessageBox.Show("导出数据完成!");
 }