TotalEconomicalComponent.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using KYFramework;
  2. namespace SimulationServer;
  3. using Define = SimulationServer.Utils.Define;
  4. public class TotalEconomical
  5. {
  6. public string 火灾总面积 ;
  7. public string 火灾死亡人数;
  8. public string 火灾总受伤人数;
  9. public string 总获救人员数量;
  10. public string 火灾死亡总人数;
  11. public string 火灾受伤总人数;
  12. public string 总获救财产;
  13. public string 总损失财产;
  14. }
  15. public class TotalEconomicalComponent : Component
  16. {
  17. public TotalEconomical TotalEconomical = new TotalEconomical();
  18. public void FillData()
  19. {
  20. var mission = GetParent<MHRescueMission>();
  21. var end = Fire.burnedCalculate(Define.WIND, mission.slope, mission.tn, mission.InitArea);
  22. double x = end.burnarea/10000;
  23. double y1 = 0.3096 * Math.Pow(x, 0.4893);
  24. double y2 = 1004.4520 * Math.Pow(x, 0.2193);
  25. double y3 = 0.2312 * Math.Pow(y1, 1.1668);
  26. double deadRoundedInt = Math.Round(y3);
  27. double injuredRoundedInt = Math.Round(y1-y3);
  28. double y2RoundedTwoDecimals = Math.Round(y2, 2);
  29. TotalEconomical.火灾总面积 = end.burnarea.ToString();
  30. TotalEconomical.火灾死亡人数 = deadRoundedInt.ToString();
  31. TotalEconomical.火灾总受伤人数 = injuredRoundedInt.ToString();
  32. TotalEconomical.总获救人员数量 = "-";
  33. TotalEconomical.火灾死亡总人数 = deadRoundedInt.ToString();
  34. TotalEconomical.火灾受伤总人数 = injuredRoundedInt.ToString();
  35. TotalEconomical.总获救财产 = "-";
  36. TotalEconomical.总损失财产 = y2RoundedTwoDecimals.ToString();
  37. }
  38. public Dictionary<string, Dictionary<string, string>> GetReport()
  39. {
  40. Dictionary<string, Dictionary<string, string>> report = new Dictionary<string, Dictionary<string, string>>();
  41. report["总经济性"] = new Dictionary<string, string>
  42. {
  43. { "火灾总面积/m2", TotalEconomical.火灾总面积.ToString() },
  44. { "火灾死亡人数/人", TotalEconomical.火灾死亡人数.ToString() },
  45. { "火灾总受伤人数/人", TotalEconomical.火灾总受伤人数.ToString() },
  46. { "总获救人员数量/人", TotalEconomical.总获救人员数量.ToString() },
  47. { "火灾死亡总人数/人", TotalEconomical.火灾死亡总人数.ToString() },
  48. { "火灾受伤总人数/人", TotalEconomical.火灾受伤总人数.ToString() },
  49. { "总获救财产/w", TotalEconomical.总获救财产.ToString() },
  50. { "总损失财产/w", TotalEconomical.总损失财产.ToString() }
  51. };
  52. return report;
  53. }
  54. }