var re = new Regex(@"\s*(?<lat>[-+]?[0-9.]+),\s*(?<lon>[-+]?[0-9.]+)\s*;", RegexOptions.Compiled| RegexOptions.CultureInvariant| RegexOptions.IgnoreCase);
var locations = re.Matches(segment).Cast<Match>().Select(m => new
{
Lat = decimal.Parse(m.Groups["lat"].Value, CInfo),
Long = decimal.Parse(m.Groups["lon"].Value, CInfo),
{ Lat = 51.54398, Long = -0.27585 }
{ Lat = 51.55175, Long = -0.29631 }
{ Lat = 51.56233, Long = -0.30369 }
{ Lat = 51.57035, Long = -0.30856 }
{ Lat = 51.58157, Long = -0.31672 }