private (Dms, Dms) ParseLatLon(string value) { if (value.Length != 8) { throw new Exception($"Invalid lat/lon: {value}"); } var latDeg = (int)value[0]; var latMin = (int)value[1]; var latSec = (int)value[2]; var latSign = value[3] == 1; var lonDeg = (int)value[4]; var lonMin = (int)value[5]; var lonSec = (int)value[6]; var lonSign = value[7] == 1; var lat = Dms.FromDms(latSign, latDeg, latMin, latSec); var lon = Dms.FromDms(lonSign, lonDeg, lonMin, lonSec); return(lat, lon); }