public string ShowUserTrajectories(int id) { if (id == -1) { return(GPSTrajectoryWriter.TrajectoriesToJson(myUserTrajectories.GPSTrajectoriesData)); } else { return(GPSTrajectoryWriter.TrajectoriesToJson(myUserTrajectories.GetTrajectoriesByUserID(id))); } }
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)); }
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()); }
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(); } }
/// <summary> /// 导出轨迹数据到shapefile /// </summary> public void ExportGPSData() { GPSTrajectoryWriter.ExportGPSTrajectoriesToShapefile("GPSShapefile.shp", myUserTrajectories.GPSTrajectoriesData); MessageBox.Show("导出数据完成!"); }