LocErrResult.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text;
  5. namespace Ips.Library.Entity
  6. {
  7. public class LocErrResult
  8. {
  9. public double Err1 { get; set; }
  10. public double Err2 { get; set; }
  11. public List<GeoLine> Lines { get; set; } = new List<GeoLine>();
  12. public LocErrResult() { }
  13. public LocErrResult(string result)
  14. {
  15. FromString(result);
  16. }
  17. public void FromString(string result)
  18. {
  19. using (var sr = new StringReader(result))
  20. {
  21. var line = sr.ReadLine();
  22. if (string.IsNullOrWhiteSpace(line)) return;
  23. var errItems = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
  24. if (errItems.Length == 2)
  25. {
  26. Err1 = double.Parse(errItems[0]);
  27. Err2 = double.Parse(errItems[1]);
  28. }
  29. while ((line = sr.ReadLine()) != null)
  30. {
  31. if (line.StartsWith("key:")) continue;
  32. Lines.Add(GeoLine.FromString(line));
  33. }
  34. }
  35. }
  36. public override string ToString()
  37. {
  38. return $"err1:{Err1},err2:{Err2},lines:{Lines?.ToLinesString()}";
  39. }
  40. }
  41. }