/// <summary> /// Writes general information /// </summary> /// <param name="sw"></param> private void WriteGeneralInformation(StreamWriter sw) { sw.WriteLine("RndfName" + "\t" + roadNetwork.Name); sw.WriteLine("RndfCreationDate" + "\t" + roadNetwork.CreationDate); sw.WriteLine("RoadGraphCreationDate" + "\t" + DateTime.Now.ToString()); LLACoord origin = GpsTools.XyToLlaDegrees(new Coordinates(0, 0), roadNetwork.PlanarProjection); sw.WriteLine("ProjectionOrigin" + "\t" + origin.lat.ToString("F6") + "\t" + origin.lon.ToString("F6")); }
/// <summary> /// Saves the temp points to a file of degrees /// </summary> /// <param name="fileName"></param> public void SaveToFileAsDegrees(string fileName, PlanarProjection pp) { FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); foreach (KeyValuePair <string, Coordinates> c in this.Points) { LLACoord lla = GpsTools.XyToLlaDegrees(c.Value, pp); //LLACoord lla = new LLACoord(c.Value.X, c.Value.Y, 0); sw.WriteLine(c.Key + "\t" + lla.lat.ToString("F6") + "\t" + lla.lon.ToString("F6")); } sw.Close(); fs.Dispose(); }
public void Render(System.Drawing.Graphics g, WorldTransform t) { if (!this.snapToWaypoints || this.roadNetwork == null) { if (this.Current != null) { LLACoord lla = GpsTools.XyToLlaDegrees(Current, projection); string locString = Current.X.ToString("F6") + ", " + Current.Y.ToString("F6") + "\n" + lla.lat.ToString("F6") + ", " + lla.lon.ToString("F6") + "\n" + GpsTools.LlaDegreesToArcMinSecs(lla); DrawingUtility.DrawControlPoint(this.Current, DrawingUtility.ColorToolPointAnalysis, locString, ContentAlignment.BottomCenter, ControlPointStyle.SmallCircle, g, t); } if (Save != null && Save.Count > 0) { foreach (Coordinates tmp in Save) { LLACoord lla = GpsTools.XyToLlaDegrees(tmp, projection); string locString = tmp.X.ToString("F6") + ", " + tmp.Y.ToString("F6") + "\n" + lla.lat.ToString("F6") + ", " + lla.lon.ToString("F6") + "\n" + GpsTools.LlaDegreesToArcMinSecs(lla); DrawingUtility.DrawControlPoint(tmp, DrawingUtility.ColorToolPointAnalysis, locString, ContentAlignment.BottomCenter, ControlPointStyle.SmallCircle, g, t); } } } else { if (this.Current != null) { Coordinates c = this.Current; double minDist = Double.MaxValue; Coordinates?closest = null; foreach (IArbiterWaypoint iaw in this.roadNetwork.ArbiterWaypoints.Values) { double d = iaw.Position.DistanceTo(c); if (d < minDist && ((IDisplayObject)iaw).HitTest(c, (float)0.2, wt, DrawingUtility.DefaultFilter).Hit) { minDist = d; closest = iaw.Position; } } if (closest != null) { c = closest.Value; } LLACoord lla = GpsTools.XyToLlaDegrees(c, projection); string locString = c.X.ToString("F6") + ", " + c.Y.ToString("F6") + "\n" + lla.lat.ToString("F6") + ", " + lla.lon.ToString("F6") + "\n" + GpsTools.LlaDegreesToArcMinSecs(lla); DrawingUtility.DrawControlPoint(c, DrawingUtility.ColorToolPointAnalysis, locString, ContentAlignment.BottomCenter, ControlPointStyle.SmallCircle, g, t); } } }