private string TranslateCircleRadius(string shapeWKT, SpatialUnits units) { var match = CircleShape.Match(shapeWKT); if (match.Success == false) { return(shapeWKT); } var radCapture = match.Groups[3]; var radius = double.Parse(radCapture.Value, CultureInfo.InvariantCulture); radius = TranslateCircleRadius(radius, units); return(shapeWKT.Substring(0, radCapture.Index) + radius.ToString("F6", CultureInfo.InvariantCulture) + shapeWKT.Substring(radCapture.Index + radCapture.Length)); }