static LineList ConvertedGeoLines(GeoLineList geoLines, CoordinateMap coordinateMap = null)
        {
            LineList lines = new LineList();

            if (coordinateMap == null)
            {
                coordinateMap = MakeCoordinateMap(geoLines);
                DebugLogText(LogLevel.DEBUG, "Created coordinate map: {0}", coordinateMap);
            }

            int lineCount  = 0;
            int pointCount = 0;

            foreach (GeoLine line in geoLines)
            {
                line.SetPrecision(EarthGeo.GeoPrecision);

                /** convert to local coordinate system */
                PointD p1 = coordinateMap.GetPixelPoint(line.P1 as GeoPoint).Round(3) as PointD;
                p1.Name = String.Format("Pt {0}", ++pointCount);

                PointD p2 = coordinateMap.GetPixelPoint(line.P2 as GeoPoint).Round(3) as PointD;
                p2.Name = String.Format("Pt {0}", ++pointCount);

                Line l = new Line(p1, p2);
                l.Name = String.Format("Line {0}", ++lineCount);
                lines.Add(l);

                DebugLogText(LogLevel.DEBUG, "Converted Line {0} {1} to {2}", line, lineCount, l);
            }

            return(lines);
        }
 public override PointD ConvertPointToPointD(GeoPoint original)
 {
     return((original is GeoPoint) ? _coordinateMap.GetPixelPoint(original as GeoPoint).Round(3) as PointD : original.Round(3) as PointD);
 }