public static int MapGPX(GPXFile gpxFile, out int shpIndex, out List <int> handles, bool showInMap = true) { shpIndex = -1; handles = new List <int>(); var utils = new MapWinGIS.Utils(); var shpfileName = ""; if (showInMap) { if (gpxFile != null) { Shapefile sf = null; if (gpxFile.TrackCount > 0) { //sf = ShapefileFactory.TrackFromGPX(gpxFile,out shpIndex); sf = ShapefileFactory.TracksFromGPXFiles(gpxFile, out handles); //var result = ShapefileFactory.CreateTripAndHaulsFromGPX(gpxFile); //sf = result.Shapefile; //handles.Add(result.Handle); //Console.WriteLine($"shapefile with {sf.Shape[0].numPoints} created. Handle is {result.Handle}"); shpfileName = "GPX tracks"; } else if (gpxFile.WaypointCount > 0) { sf = ShapefileFactory.NamedPointsFromGPX(gpxFile, out handles); shpfileName = "GPX waypoints"; } //MapWindowForm.Title =$"Number of layers:{MapControl.NumLayers}"; MapLayersHandler.AddLayer(sf, shpfileName, uniqueLayer: true, layerKey: sf.Key, rejectIfExisting: true); if (gpxFile.TrackCount > 0) { GPXTracksLayer = MapLayersHandler.CurrentMapLayer; } else if (gpxFile.WaypointCount > 0) { GPXWaypointsLayer = MapLayersHandler.CurrentMapLayer; } return(MapLayersHandler.CurrentMapLayer.Handle); } else { return(-1); } } else { var ly = MapLayersHandler.get_MapLayer(gpxFile.FileName); MapLayersHandler.RemoveLayer(ly.Handle); return(-1); } }
public static int MapTripWaypoints(List <TripWaypoint> waypoints, out int shpIndex, out List <int> handles, GPS gps, string filename, bool showInMap = true) { shpIndex = -1; handles = new List <int>(); var utils = new MapWinGIS.Utils(); var shpfileName = ""; if (showInMap) { if (waypoints.Count > 0) { Shapefile sf = null; sf = ShapefileFactory.PointsFromWayPointList(waypoints, out handles, gps.DeviceName, filename); shpfileName = "Trip waypoints"; int h = MapLayersHandler.AddLayer(sf, shpfileName, uniqueLayer: true, layerKey: sf.Key, rejectIfExisting: true); } } return(MapLayersHandler.CurrentMapLayer.Handle); }
public static int MapTrip(Trip trip, out int shpIndex, out List <int> handles, bool showInMap = true) { shpIndex = -1; handles = new List <int>(); var utils = new MapWinGIS.Utils(); var shpfileName = ""; if (showInMap) { if (trip.Track.Waypoints.Count > 0) { Shapefile sf = null; List <Trip> trips = new List <Trip>(); trips.Add(trip); sf = ShapefileFactory.TrackFromTrip(trips, out handles); shpfileName = "Trip tracks"; MapLayersHandler.AddLayer(sf, shpfileName, uniqueLayer: true, layerKey: sf.Key, rejectIfExisting: true); } } return(MapLayersHandler.CurrentMapLayer.Handle); }