控制网复测平面基准归算程序(包含控制网复测平面基准计算,平面控制网稳定性计算,水准测段高差稳定计算三个程序功能)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

data_show.py 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. # 数据处理相关代码
  2. from time import process_time_ns
  3. from PySide6.QtGui import QStandardItemModel, QStandardItem
  4. # 稳定性成果表
  5. def Arrange_Data(list1):
  6. # 最终return的
  7. list2 = []
  8. # 点号部分
  9. nlist = []
  10. for data1 in list1:
  11. # 点名
  12. # 存每一行的数据
  13. resultlist = []
  14. pn = data1[0].decode('utf-8')
  15. resultlist.append(pn)
  16. nlist.append(pn)
  17. resultlist.append(data1[1])
  18. resultlist.append(data1[2])
  19. resultlist.append(data1[3])
  20. resultlist.append(data1[4])
  21. resultlist.append(data1[5])
  22. resultlist.append(data1[6])
  23. resultlist.append(data1[7])
  24. resultlist.append(data1[8])
  25. resultlist.append(data1[9])
  26. resultlist.append(data1[10])
  27. resultlist.append(data1[11])
  28. # 判定1
  29. an1 = data1[12].decode('utf-8')
  30. resultlist.append(an1)
  31. resultlist.append(data1[13])
  32. resultlist.append(data1[14])
  33. resultlist.append(data1[15])
  34. # 判定2
  35. an2 = data1[16].decode('utf-8')
  36. resultlist.append(an2)
  37. list2.append(resultlist)
  38. return nlist, list2
  39. # GS复测成果表
  40. def Arrange_Data1(list1):
  41. # 最终return的
  42. list2 = []
  43. # 点号部分
  44. nlist = []
  45. for data1 in list1:
  46. # 点名
  47. # 存每一行的数据
  48. resultlist = []
  49. pn = data1[0].decode('utf-8')
  50. resultlist.append(pn)
  51. nlist.append(pn)
  52. resultlist.append(data1[1])
  53. resultlist.append(data1[2])
  54. resultlist.append(data1[3])
  55. resultlist.append(data1[4])
  56. resultlist.append(data1[5])
  57. resultlist.append(data1[6])
  58. resultlist.append(data1[7])
  59. # 判定
  60. an1 = data1[8].decode('utf-8')
  61. resultlist.append(an1)
  62. list2.append(resultlist)
  63. return nlist, list2
  64. # GS基准归算表
  65. def Arrange_Data2(list1):
  66. # 最终return的
  67. list2 = []
  68. # 点号部分
  69. nlist = []
  70. for data1 in list1:
  71. # 点名
  72. # 存每一行的数据
  73. resultlist = []
  74. pn = data1[0].decode('utf-8')
  75. resultlist.append(pn)
  76. nlist.append(pn)
  77. resultlist.append(data1[1])
  78. resultlist.append(data1[2])
  79. resultlist.append(data1[3])
  80. resultlist.append(data1[4])
  81. resultlist.append(data1[5])
  82. # 判定
  83. an1 = data1[6].decode('utf-8')
  84. resultlist.append(an1)
  85. list2.append(resultlist)
  86. return nlist, list2
  87. def Data_in_Cell(list1):
  88. model = QStandardItemModel()
  89. xx = 0
  90. while xx < len(list1):
  91. data1 = list1[xx]
  92. # 点号
  93. cell1 = str(data1[0])
  94. item = QStandardItem(cell1)
  95. model.setItem(xx, 0, item)
  96. # 首期
  97. cell1 = str('{:.4f}'.format(data1[1]))
  98. item = QStandardItem(cell1)
  99. model.setItem(xx, 1, item)
  100. cell1 = str('{:.4f}'.format(data1[2]))
  101. item = QStandardItem(cell1)
  102. model.setItem(xx, 2, item)
  103. # 上期
  104. cell1 = str('{:.4f}'.format(data1[3]))
  105. item = QStandardItem(cell1)
  106. model.setItem(xx, 3, item)
  107. cell1 = str('{:.4f}'.format(data1[4]))
  108. item = QStandardItem(cell1)
  109. model.setItem(xx, 4, item)
  110. # 权
  111. cell1 = str(int(data1[5]))
  112. item = QStandardItem(cell1)
  113. model.setItem(xx, 5, item)
  114. # 本期
  115. cell1 = str('{:.4f}'.format(data1[6]))
  116. item = QStandardItem(cell1)
  117. model.setItem(xx, 6, item)
  118. cell1 = str('{:.4f}'.format(data1[7]))
  119. item = QStandardItem(cell1)
  120. model.setItem(xx, 7, item)
  121. # 权
  122. cell1 = str(int(data1[8]))
  123. item = QStandardItem(cell1)
  124. model.setItem(xx, 8, item)
  125. # 本-首
  126. cell1 = str('{:.1f}'.format(data1[9]))
  127. item = QStandardItem(cell1)
  128. model.setItem(xx, 9, item)
  129. cell1 = str('{:.1f}'.format(data1[10]))
  130. item = QStandardItem(cell1)
  131. model.setItem(xx, 10, item)
  132. cell1 = str('{:.1f}'.format(data1[11]))
  133. item = QStandardItem(cell1)
  134. model.setItem(xx, 11, item)
  135. # 判定(如果是稳定则不显示)
  136. cell1 = str(data1[12])
  137. if cell1 == '稳定':
  138. cell1 = ''
  139. item = QStandardItem(cell1)
  140. model.setItem(xx, 12, item)
  141. # 本-上
  142. cell1 = str('{:.1f}'.format(data1[13]))
  143. item = QStandardItem(cell1)
  144. model.setItem(xx, 13, item)
  145. cell1 = str('{:.1f}'.format(data1[14]))
  146. item = QStandardItem(cell1)
  147. model.setItem(xx, 14, item)
  148. cell1 = str('{:.1f}'.format(data1[15]))
  149. item = QStandardItem(cell1)
  150. model.setItem(xx, 15, item)
  151. # 判定
  152. cell1 = str(data1[16])
  153. if cell1 == '稳定':
  154. cell1 = ''
  155. item = QStandardItem(cell1)
  156. model.setItem(xx, 16, item)
  157. xx = xx + 1
  158. return model
  159. # GS复测成果表
  160. def Data_in_Cell1(list1):
  161. model = QStandardItemModel()
  162. xx = 0
  163. while xx < len(list1):
  164. data1 = list1[xx]
  165. # 点号
  166. cell1 = str(data1[0])
  167. item = QStandardItem(cell1)
  168. model.setItem(xx, 0, item)
  169. # 上期
  170. cell1 = str('{:.4f}'.format(data1[1]))
  171. item = QStandardItem(cell1)
  172. model.setItem(xx, 1, item)
  173. cell1 = str('{:.4f}'.format(data1[2]))
  174. item = QStandardItem(cell1)
  175. model.setItem(xx, 2, item)
  176. # 本期
  177. cell1 = str('{:.4f}'.format(data1[3]))
  178. item = QStandardItem(cell1)
  179. model.setItem(xx, 3, item)
  180. cell1 = str('{:.4f}'.format(data1[4]))
  181. item = QStandardItem(cell1)
  182. model.setItem(xx, 4, item)
  183. # 上-本
  184. cell1 = str('{:.1f}'.format(data1[5]))
  185. item = QStandardItem(cell1)
  186. model.setItem(xx, 5, item)
  187. cell1 = str('{:.1f}'.format(data1[6]))
  188. item = QStandardItem(cell1)
  189. model.setItem(xx, 6, item)
  190. cell1 = str('{:.1f}'.format(data1[7]))
  191. item = QStandardItem(cell1)
  192. model.setItem(xx, 7, item)
  193. # 判定(如果是稳定则不显示)
  194. cell1 = str(data1[8])
  195. if cell1 == '稳定':
  196. cell1 = ''
  197. item = QStandardItem(cell1)
  198. model.setItem(xx, 8, item)
  199. xx = xx + 1
  200. return model
  201. # GS基准归算表
  202. def Data_in_Cell2(list1):
  203. model = QStandardItemModel()
  204. xx = 0
  205. while xx < len(list1):
  206. data1 = list1[xx]
  207. # 点号
  208. cell1 = str(data1[0])
  209. item = QStandardItem(cell1)
  210. model.setItem(xx, 0, item)
  211. # 计算
  212. cell1 = str('{:.4f}'.format(data1[1]))
  213. item = QStandardItem(cell1)
  214. model.setItem(xx, 1, item)
  215. cell1 = str('{:.4f}'.format(data1[2]))
  216. item = QStandardItem(cell1)
  217. model.setItem(xx, 2, item)
  218. # 上-计
  219. cell1 = str('{:.1f}'.format(data1[3]))
  220. item = QStandardItem(cell1)
  221. model.setItem(xx, 3, item)
  222. cell1 = str('{:.1f}'.format(data1[4]))
  223. item = QStandardItem(cell1)
  224. model.setItem(xx, 4, item)
  225. cell1 = str('{:.1f}'.format(data1[5]))
  226. item = QStandardItem(cell1)
  227. model.setItem(xx, 5, item)
  228. # 判定(如果为稳定则不显示)
  229. cell1 = str(data1[6])
  230. if cell1 == '稳定':
  231. cell1 = ''
  232. item = QStandardItem(cell1)
  233. model.setItem(xx, 6, item)
  234. xx = xx + 1
  235. return model
  236. #稳定性分析输入显示
  237. def WD_In_Data(list1,list0):
  238. # 最终return的
  239. list2 = []
  240. # 点号部分
  241. nlist = []
  242. ii = 0
  243. for data1 in list1:
  244. # 点名
  245. # 存每一行的数据
  246. resultlist = []
  247. pn = data1[0].decode('utf-8')
  248. resultlist.append(pn)
  249. nlist.append(pn)
  250. resultlist.append(data1[1])
  251. resultlist.append(data1[2])
  252. resultlist.append(data1[3])
  253. resultlist.append(data1[4])
  254. resultlist.append(data1[5])
  255. resultlist.append(data1[6])
  256. resultlist.append(data1[7])
  257. if ii == 0:
  258. frn = list0[0].decode('utf-8')
  259. resultlist.append(frn)
  260. prn = list0[1].decode('utf-8')
  261. resultlist.append(prn)
  262. nrn = list0[2].decode('utf-8')
  263. resultlist.append(nrn)
  264. resultlist.append(list0[3])
  265. resultlist.append(list0[4])
  266. resultlist.append(list0[5])
  267. resultlist.append(list0[6])
  268. resultlist.append(list0[7])
  269. ii = ii + 1
  270. else:
  271. resultlist.append('')
  272. resultlist.append('')
  273. resultlist.append('')
  274. resultlist.append(0)
  275. resultlist.append(0)
  276. resultlist.append(0)
  277. resultlist.append(0)
  278. resultlist.append(0)
  279. list2.append(resultlist)
  280. model = QStandardItemModel()
  281. xx = 0
  282. while xx < len(list2):
  283. data1 = list2[xx]
  284. # 点号
  285. cell1 = str(data1[0])
  286. item = QStandardItem(cell1)
  287. model.setItem(xx, 0, item)
  288. # 首期
  289. cell1 = str('{:.4f}'.format(data1[1]))
  290. item = QStandardItem(cell1)
  291. model.setItem(xx, 1, item)
  292. cell1 = str('{:.4f}'.format(data1[2]))
  293. item = QStandardItem(cell1)
  294. model.setItem(xx, 2, item)
  295. # 上期
  296. cell1 = str('{:.4f}'.format(data1[3]))
  297. item = QStandardItem(cell1)
  298. model.setItem(xx, 3, item)
  299. cell1 = str('{:.4f}'.format(data1[4]))
  300. item = QStandardItem(cell1)
  301. model.setItem(xx, 4, item)
  302. # 权
  303. cell1 = str(int(data1[5]))
  304. item = QStandardItem(cell1)
  305. model.setItem(xx, 5, item)
  306. # 本期
  307. cell1 = str('{:.4f}'.format(data1[6]))
  308. item = QStandardItem(cell1)
  309. model.setItem(xx, 6, item)
  310. cell1 = str('{:.4f}'.format(data1[7]))
  311. item = QStandardItem(cell1)
  312. model.setItem(xx, 7, item)
  313. # 几个参数
  314. cell1 = str(data1[8])
  315. item = QStandardItem(cell1)
  316. model.setItem(xx, 8, item)
  317. cell1 = str(data1[9])
  318. item = QStandardItem(cell1)
  319. model.setItem(xx, 9, item)
  320. cell1 = str(data1[10])
  321. item = QStandardItem(cell1)
  322. model.setItem(xx, 10, item)
  323. if data1[11] == 0 and data1[12] == 0:
  324. cell1 = str('')
  325. item = QStandardItem(cell1)
  326. model.setItem(xx, 11, item)
  327. cell1 = str('')
  328. item = QStandardItem(cell1)
  329. model.setItem(xx, 12, item)
  330. cell1 = str('')
  331. item = QStandardItem(cell1)
  332. model.setItem(xx, 13, item)
  333. cell1 = str('')
  334. item = QStandardItem(cell1)
  335. model.setItem(xx, 14, item)
  336. cell1 = str('')
  337. item = QStandardItem(cell1)
  338. model.setItem(xx, 15, item)
  339. else:
  340. cell1 = str(round(data1[11], 2))
  341. item = QStandardItem(cell1)
  342. model.setItem(xx, 11, item)
  343. cell1 = str(round(data1[12], 2))
  344. item = QStandardItem(cell1)
  345. model.setItem(xx, 12, item)
  346. cell1 = str(round(data1[13], 2))
  347. item = QStandardItem(cell1)
  348. model.setItem(xx, 13, item)
  349. cell1 = str(round(data1[14], 2))
  350. item = QStandardItem(cell1)
  351. model.setItem(xx, 14, item)
  352. cell1 = str(round(data1[15], 2))
  353. item = QStandardItem(cell1)
  354. model.setItem(xx, 15, item)
  355. xx = xx + 1
  356. return model,nlist
  357. #改算计算输入显示
  358. def GS_In_Data(list1,list0):
  359. # 最终return的
  360. list2 = []
  361. # 点号部分
  362. nlist = []
  363. ii = 0
  364. for data1 in list1:
  365. # 点名
  366. # 存每一行的数据
  367. resultlist = []
  368. pn = data1[0].decode('utf-8')
  369. resultlist.append(pn)
  370. nlist.append(pn)
  371. resultlist.append(data1[1])
  372. resultlist.append(data1[2])
  373. resultlist.append(data1[3])
  374. resultlist.append(data1[4])
  375. resultlist.append(data1[5])
  376. if ii == 0:
  377. prn = list0[0].decode('utf-8')
  378. resultlist.append(prn)
  379. nrn = list0[1].decode('utf-8')
  380. resultlist.append(nrn)
  381. resultlist.append(list0[2])
  382. resultlist.append(list0[3])
  383. resultlist.append(list0[4])
  384. resultlist.append(list0[5])
  385. resultlist.append(list0[6])
  386. resultlist.append(list0[7])
  387. ii = ii + 1
  388. else:
  389. resultlist.append('')
  390. resultlist.append('')
  391. resultlist.append(0)
  392. resultlist.append(0)
  393. resultlist.append(0)
  394. resultlist.append(0)
  395. resultlist.append(0)
  396. resultlist.append(0)
  397. list2.append(resultlist)
  398. model = QStandardItemModel()
  399. xx = 0
  400. while xx < len(list2):
  401. data1 = list2[xx]
  402. # 点号
  403. cell1 = str(data1[0])
  404. item = QStandardItem(cell1)
  405. model.setItem(xx, 0, item)
  406. # 首期
  407. cell1 = str('{:.4f}'.format(data1[1]))
  408. item = QStandardItem(cell1)
  409. model.setItem(xx, 1, item)
  410. cell1 = str('{:.4f}'.format(data1[2]))
  411. item = QStandardItem(cell1)
  412. model.setItem(xx, 2, item)
  413. # 上期
  414. cell1 = str('{:.4f}'.format(data1[3]))
  415. item = QStandardItem(cell1)
  416. model.setItem(xx, 3, item)
  417. cell1 = str('{:.4f}'.format(data1[4]))
  418. item = QStandardItem(cell1)
  419. model.setItem(xx, 4, item)
  420. # 权
  421. cell1 = str(int(data1[5]))
  422. item = QStandardItem(cell1)
  423. model.setItem(xx, 5, item)
  424. #几个参数
  425. cell1 = str(data1[6])
  426. item = QStandardItem(cell1)
  427. model.setItem(xx, 6, item)
  428. cell1 = str(data1[7])
  429. item = QStandardItem(cell1)
  430. model.setItem(xx, 7, item)
  431. if data1[8] == 0 and data1[9] == 0:
  432. cell1 = str('')
  433. item = QStandardItem(cell1)
  434. model.setItem(xx, 8, item)
  435. cell1 = str('')
  436. item = QStandardItem(cell1)
  437. model.setItem(xx, 9, item)
  438. cell1 = str('')
  439. item = QStandardItem(cell1)
  440. model.setItem(xx, 10, item)
  441. cell1 = str('')
  442. item = QStandardItem(cell1)
  443. model.setItem(xx, 11, item)
  444. cell1 = str('')
  445. item = QStandardItem(cell1)
  446. model.setItem(xx, 12, item)
  447. cell1 = str('')
  448. item = QStandardItem(cell1)
  449. model.setItem(xx, 13, item)
  450. else:
  451. cell1 = str(round(data1[8], 2))
  452. item = QStandardItem(cell1)
  453. model.setItem(xx, 8, item)
  454. cell1 = str(round(data1[9], 2))
  455. item = QStandardItem(cell1)
  456. model.setItem(xx, 9, item)
  457. cell1 = str(format(data1[10], '.3e') )
  458. item = QStandardItem(cell1)
  459. model.setItem(xx, 10, item)
  460. cell1 = str(round(data1[11], 2))
  461. item = QStandardItem(cell1)
  462. model.setItem(xx, 11, item)
  463. cell1 = str(round(data1[12], 2))
  464. item = QStandardItem(cell1)
  465. model.setItem(xx, 12, item)
  466. cell1 = str(round(data1[13], 2))
  467. item = QStandardItem(cell1)
  468. model.setItem(xx, 13, item)
  469. xx = xx + 1
  470. return model,nlist