public bool Parse(string input, out CoordinateDD dd) { dd = new CoordinateDD(); CoordinateDMS dms; // try to parse all types? if (CoordinateDD.TryParse(input, out dd)) { return(true); } else if (CoordinateDMS.TryParse(input, out dms)) { dd.Lat = Math.Abs(dms.LatDegrees) + (dms.LatMinutes / 60.0) + (dms.LatSeconds / 3600.0); dd.Lon = Math.Abs(dms.LonDegrees) + (dms.LonMinutes / 60.0) + (dms.LonSeconds / 3600.0); if (dms.LatDegrees < 0) { dd.Lat *= -1; } if (dms.LonDegrees < 0) { dd.Lon *= -1; } return(true); } return(false); }
public virtual bool CanGetDMS(int srFactoryCode, out string coord) { CoordinateDMS dms; if (CoordinateDMS.TryParse(InputCoordinate, out dms)) { coord = dms.ToString("", new CoordinateDMSFormatter()); return(true); } else { coord = string.Empty; return(false); } }