statsBaseInfoModel.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911
  1. 'use strict';
  2. module.exports = app => {
  3. const mongoose = app.mongoose;
  4. const Schema = mongoose.Schema;
  5. const conn = app.mongooseDB.get('etlDB');
  6. // 以上数据均以日统计给出,每一辆车一份日统计数据,若当日没有发生的则数据为0。
  7. const StatsBaseInfoSchema = new Schema({
  8. _id: { type: String }, // id时间年月日
  9. vin: { type: String }, // vin
  10. start_time: { type: Number }, // 统计开始时间
  11. end_time: { type: Number }, // 统计结束时间
  12. create_time: { type: Number }, // 创建时间
  13. // stats_sp_acce_cnt:(不同)车速下油门踏板开度及加速度统计
  14. // sp_{x}_cnt,其中x为动态值:1-6。分别表示:0-5、5-10、10-30、30-60、60-80、80-100车速区间段。
  15. // acce表示的是加速踏板开度各个区间统计值,as表示的是加速度各个区间统计值。
  16. // 加速度范围:0-0.6g,区间间隔0.05g
  17. stats_sp_acce_cnt: {
  18. sp_1_cnt: {
  19. acce: {
  20. acce1: { type: Number },
  21. acce2: { type: Number },
  22. acce3: { type: Number },
  23. acce4: { type: Number },
  24. acce5: { type: Number },
  25. acce6: { type: Number },
  26. acce7: { type: Number },
  27. acce8: { type: Number },
  28. acce9: { type: Number },
  29. acce10: { type: Number },
  30. },
  31. as: {
  32. as1: { type: Number },
  33. as2: { type: Number },
  34. as3: { type: Number },
  35. as4: { type: Number },
  36. as5: { type: Number },
  37. as6: { type: Number },
  38. as7: { type: Number },
  39. as8: { type: Number },
  40. as9: { type: Number },
  41. as10: { type: Number },
  42. as11: { type: Number },
  43. as12: { type: Number },
  44. },
  45. },
  46. sp_2_cnt: {
  47. acce: {
  48. acce1: { type: Number },
  49. acce2: { type: Number },
  50. acce3: { type: Number },
  51. acce4: { type: Number },
  52. acce5: { type: Number },
  53. acce6: { type: Number },
  54. acce7: { type: Number },
  55. acce8: { type: Number },
  56. acce9: { type: Number },
  57. acce10: { type: Number },
  58. },
  59. as: {
  60. as1: { type: Number },
  61. as2: { type: Number },
  62. as3: { type: Number },
  63. as4: { type: Number },
  64. as5: { type: Number },
  65. as6: { type: Number },
  66. as7: { type: Number },
  67. as8: { type: Number },
  68. as9: { type: Number },
  69. as10: { type: Number },
  70. as11: { type: Number },
  71. as12: { type: Number },
  72. },
  73. },
  74. sp_3_cnt: {
  75. acce: {
  76. acce1: { type: Number },
  77. acce2: { type: Number },
  78. acce3: { type: Number },
  79. acce4: { type: Number },
  80. acce5: { type: Number },
  81. acce6: { type: Number },
  82. acce7: { type: Number },
  83. acce8: { type: Number },
  84. acce9: { type: Number },
  85. acce10: { type: Number },
  86. },
  87. as: {
  88. as1: { type: Number },
  89. as2: { type: Number },
  90. as3: { type: Number },
  91. as4: { type: Number },
  92. as5: { type: Number },
  93. as6: { type: Number },
  94. as7: { type: Number },
  95. as8: { type: Number },
  96. as9: { type: Number },
  97. as10: { type: Number },
  98. as11: { type: Number },
  99. as12: { type: Number },
  100. },
  101. },
  102. sp_4_cnt: {
  103. acce: {
  104. acce1: { type: Number },
  105. acce2: { type: Number },
  106. acce3: { type: Number },
  107. acce4: { type: Number },
  108. acce5: { type: Number },
  109. acce6: { type: Number },
  110. acce7: { type: Number },
  111. acce8: { type: Number },
  112. acce9: { type: Number },
  113. acce10: { type: Number },
  114. },
  115. as: {
  116. as1: { type: Number },
  117. as2: { type: Number },
  118. as3: { type: Number },
  119. as4: { type: Number },
  120. as5: { type: Number },
  121. as6: { type: Number },
  122. as7: { type: Number },
  123. as8: { type: Number },
  124. as9: { type: Number },
  125. as10: { type: Number },
  126. as11: { type: Number },
  127. as12: { type: Number },
  128. },
  129. },
  130. sp_5_cnt: {
  131. acce: {
  132. acce1: { type: Number },
  133. acce2: { type: Number },
  134. acce3: { type: Number },
  135. acce4: { type: Number },
  136. acce5: { type: Number },
  137. acce6: { type: Number },
  138. acce7: { type: Number },
  139. acce8: { type: Number },
  140. acce9: { type: Number },
  141. acce10: { type: Number },
  142. },
  143. as: {
  144. as1: { type: Number },
  145. as2: { type: Number },
  146. as3: { type: Number },
  147. as4: { type: Number },
  148. as5: { type: Number },
  149. as6: { type: Number },
  150. as7: { type: Number },
  151. as8: { type: Number },
  152. as9: { type: Number },
  153. as10: { type: Number },
  154. as11: { type: Number },
  155. as12: { type: Number },
  156. },
  157. },
  158. sp_6_cnt: {
  159. acce: {
  160. acce1: { type: Number },
  161. acce2: { type: Number },
  162. acce3: { type: Number },
  163. acce4: { type: Number },
  164. acce5: { type: Number },
  165. acce6: { type: Number },
  166. acce7: { type: Number },
  167. acce8: { type: Number },
  168. acce9: { type: Number },
  169. acce10: { type: Number },
  170. },
  171. as: {
  172. as1: { type: Number },
  173. as2: { type: Number },
  174. as3: { type: Number },
  175. as4: { type: Number },
  176. as5: { type: Number },
  177. as6: { type: Number },
  178. as7: { type: Number },
  179. as8: { type: Number },
  180. as9: { type: Number },
  181. as10: { type: Number },
  182. as11: { type: Number },
  183. as12: { type: Number },
  184. },
  185. },
  186. // TODO 本地新增的sp_7_cnt代表100以上
  187. sp_7_cnt: {
  188. acce: {
  189. acce1: { type: Number },
  190. acce2: { type: Number },
  191. acce3: { type: Number },
  192. acce4: { type: Number },
  193. acce5: { type: Number },
  194. acce6: { type: Number },
  195. acce7: { type: Number },
  196. acce8: { type: Number },
  197. acce9: { type: Number },
  198. acce10: { type: Number },
  199. },
  200. as: {
  201. as1: { type: Number },
  202. as2: { type: Number },
  203. as3: { type: Number },
  204. as4: { type: Number },
  205. as5: { type: Number },
  206. as6: { type: Number },
  207. as7: { type: Number },
  208. as8: { type: Number },
  209. as9: { type: Number },
  210. as10: { type: Number },
  211. as11: { type: Number },
  212. as12: { type: Number },
  213. },
  214. },
  215. },
  216. // stats_sp_dece_cnt:车辆行驶过程中制动踏板开度以及对应减速度
  217. // 统计不同驾驶模式下(在不同能量回收模式下),即驾驶模式作为筛选条件,只统计自动(auto),经济(eco),运动(sport),舒适(confort)模式下,不同速度区间减速度分布
  218. // sp_{x}_cnt,其中x为动态值:1-7.分别表示:0-5、5-10、10-30、30-60、60-80、80-100、100-140车速区间段。
  219. stats_sp_dece_cnt: {
  220. dr_mode_auto: {
  221. sp_1_cnt: {
  222. dece: {
  223. dece1: { type: Number },
  224. dece2: { type: Number },
  225. dece3: { type: Number },
  226. dece4: { type: Number },
  227. dece5: { type: Number },
  228. dece6: { type: Number },
  229. dece7: { type: Number },
  230. dece8: { type: Number },
  231. dece9: { type: Number },
  232. dece10: { type: Number },
  233. },
  234. },
  235. sp_2_cnt: {
  236. dece: {
  237. dece1: { type: Number },
  238. dece2: { type: Number },
  239. dece3: { type: Number },
  240. dece4: { type: Number },
  241. dece5: { type: Number },
  242. dece6: { type: Number },
  243. dece7: { type: Number },
  244. dece8: { type: Number },
  245. dece9: { type: Number },
  246. dece10: { type: Number },
  247. },
  248. },
  249. sp_3_cnt: {
  250. dece: {
  251. dece1: { type: Number },
  252. dece2: { type: Number },
  253. dece3: { type: Number },
  254. dece4: { type: Number },
  255. dece5: { type: Number },
  256. dece6: { type: Number },
  257. dece7: { type: Number },
  258. dece8: { type: Number },
  259. dece9: { type: Number },
  260. dece10: { type: Number },
  261. },
  262. },
  263. sp_4_cnt: {
  264. dece: {
  265. dece1: { type: Number },
  266. dece2: { type: Number },
  267. dece3: { type: Number },
  268. dece4: { type: Number },
  269. dece5: { type: Number },
  270. dece6: { type: Number },
  271. dece7: { type: Number },
  272. dece8: { type: Number },
  273. dece9: { type: Number },
  274. dece10: { type: Number },
  275. },
  276. },
  277. sp_5_cnt: {
  278. dece: {
  279. dece1: { type: Number },
  280. dece2: { type: Number },
  281. dece3: { type: Number },
  282. dece4: { type: Number },
  283. dece5: { type: Number },
  284. dece6: { type: Number },
  285. dece7: { type: Number },
  286. dece8: { type: Number },
  287. dece9: { type: Number },
  288. dece10: { type: Number },
  289. },
  290. },
  291. sp_6_cnt: {
  292. dece: {
  293. dece1: { type: Number },
  294. dece2: { type: Number },
  295. dece3: { type: Number },
  296. dece4: { type: Number },
  297. dece5: { type: Number },
  298. dece6: { type: Number },
  299. dece7: { type: Number },
  300. dece8: { type: Number },
  301. dece9: { type: Number },
  302. dece10: { type: Number },
  303. },
  304. },
  305. sp_7_cnt: {
  306. dece: {
  307. dece1: { type: Number },
  308. dece2: { type: Number },
  309. dece3: { type: Number },
  310. dece4: { type: Number },
  311. dece5: { type: Number },
  312. dece6: { type: Number },
  313. dece7: { type: Number },
  314. dece8: { type: Number },
  315. dece9: { type: Number },
  316. dece10: { type: Number },
  317. },
  318. },
  319. },
  320. dr_mode_eco: {
  321. sp_1_cnt: {
  322. dece: {
  323. dece1: { type: Number },
  324. dece2: { type: Number },
  325. dece3: { type: Number },
  326. dece4: { type: Number },
  327. dece5: { type: Number },
  328. dece6: { type: Number },
  329. dece7: { type: Number },
  330. dece8: { type: Number },
  331. dece9: { type: Number },
  332. dece10: { type: Number },
  333. },
  334. },
  335. sp_2_cnt: {
  336. dece: {
  337. dece1: { type: Number },
  338. dece2: { type: Number },
  339. dece3: { type: Number },
  340. dece4: { type: Number },
  341. dece5: { type: Number },
  342. dece6: { type: Number },
  343. dece7: { type: Number },
  344. dece8: { type: Number },
  345. dece9: { type: Number },
  346. dece10: { type: Number },
  347. },
  348. },
  349. sp_3_cnt: {
  350. dece: {
  351. dece1: { type: Number },
  352. dece2: { type: Number },
  353. dece3: { type: Number },
  354. dece4: { type: Number },
  355. dece5: { type: Number },
  356. dece6: { type: Number },
  357. dece7: { type: Number },
  358. dece8: { type: Number },
  359. dece9: { type: Number },
  360. dece10: { type: Number },
  361. },
  362. },
  363. sp_4_cnt: {
  364. dece: {
  365. dece1: { type: Number },
  366. dece2: { type: Number },
  367. dece3: { type: Number },
  368. dece4: { type: Number },
  369. dece5: { type: Number },
  370. dece6: { type: Number },
  371. dece7: { type: Number },
  372. dece8: { type: Number },
  373. dece9: { type: Number },
  374. dece10: { type: Number },
  375. },
  376. },
  377. sp_5_cnt: {
  378. dece: {
  379. dece1: { type: Number },
  380. dece2: { type: Number },
  381. dece3: { type: Number },
  382. dece4: { type: Number },
  383. dece5: { type: Number },
  384. dece6: { type: Number },
  385. dece7: { type: Number },
  386. dece8: { type: Number },
  387. dece9: { type: Number },
  388. dece10: { type: Number },
  389. },
  390. },
  391. sp_6_cnt: {
  392. dece: {
  393. dece1: { type: Number },
  394. dece2: { type: Number },
  395. dece3: { type: Number },
  396. dece4: { type: Number },
  397. dece5: { type: Number },
  398. dece6: { type: Number },
  399. dece7: { type: Number },
  400. dece8: { type: Number },
  401. dece9: { type: Number },
  402. dece10: { type: Number },
  403. },
  404. },
  405. sp_7_cnt: {
  406. dece: {
  407. dece1: { type: Number },
  408. dece2: { type: Number },
  409. dece3: { type: Number },
  410. dece4: { type: Number },
  411. dece5: { type: Number },
  412. dece6: { type: Number },
  413. dece7: { type: Number },
  414. dece8: { type: Number },
  415. dece9: { type: Number },
  416. dece10: { type: Number },
  417. },
  418. },
  419. },
  420. dr_mode_sport: {
  421. sp_1_cnt: {
  422. dece: {
  423. dece1: { type: Number },
  424. dece2: { type: Number },
  425. dece3: { type: Number },
  426. dece4: { type: Number },
  427. dece5: { type: Number },
  428. dece6: { type: Number },
  429. dece7: { type: Number },
  430. dece8: { type: Number },
  431. dece9: { type: Number },
  432. dece10: { type: Number },
  433. },
  434. },
  435. sp_2_cnt: {
  436. dece: {
  437. dece1: { type: Number },
  438. dece2: { type: Number },
  439. dece3: { type: Number },
  440. dece4: { type: Number },
  441. dece5: { type: Number },
  442. dece6: { type: Number },
  443. dece7: { type: Number },
  444. dece8: { type: Number },
  445. dece9: { type: Number },
  446. dece10: { type: Number },
  447. },
  448. },
  449. sp_3_cnt: {
  450. dece: {
  451. dece1: { type: Number },
  452. dece2: { type: Number },
  453. dece3: { type: Number },
  454. dece4: { type: Number },
  455. dece5: { type: Number },
  456. dece6: { type: Number },
  457. dece7: { type: Number },
  458. dece8: { type: Number },
  459. dece9: { type: Number },
  460. dece10: { type: Number },
  461. },
  462. },
  463. sp_4_cnt: {
  464. dece: {
  465. dece1: { type: Number },
  466. dece2: { type: Number },
  467. dece3: { type: Number },
  468. dece4: { type: Number },
  469. dece5: { type: Number },
  470. dece6: { type: Number },
  471. dece7: { type: Number },
  472. dece8: { type: Number },
  473. dece9: { type: Number },
  474. dece10: { type: Number },
  475. },
  476. },
  477. sp_5_cnt: {
  478. dece: {
  479. dece1: { type: Number },
  480. dece2: { type: Number },
  481. dece3: { type: Number },
  482. dece4: { type: Number },
  483. dece5: { type: Number },
  484. dece6: { type: Number },
  485. dece7: { type: Number },
  486. dece8: { type: Number },
  487. dece9: { type: Number },
  488. dece10: { type: Number },
  489. },
  490. },
  491. sp_6_cnt: {
  492. dece: {
  493. dece1: { type: Number },
  494. dece2: { type: Number },
  495. dece3: { type: Number },
  496. dece4: { type: Number },
  497. dece5: { type: Number },
  498. dece6: { type: Number },
  499. dece7: { type: Number },
  500. dece8: { type: Number },
  501. dece9: { type: Number },
  502. dece10: { type: Number },
  503. },
  504. },
  505. sp_7_cnt: {
  506. dece: {
  507. dece1: { type: Number },
  508. dece2: { type: Number },
  509. dece3: { type: Number },
  510. dece4: { type: Number },
  511. dece5: { type: Number },
  512. dece6: { type: Number },
  513. dece7: { type: Number },
  514. dece8: { type: Number },
  515. dece9: { type: Number },
  516. dece10: { type: Number },
  517. },
  518. },
  519. },
  520. dr_mode_confort: {
  521. sp_1_cnt: {
  522. dece: {
  523. dece1: { type: Number },
  524. dece2: { type: Number },
  525. dece3: { type: Number },
  526. dece4: { type: Number },
  527. dece5: { type: Number },
  528. dece6: { type: Number },
  529. dece7: { type: Number },
  530. dece8: { type: Number },
  531. dece9: { type: Number },
  532. dece10: { type: Number },
  533. },
  534. },
  535. sp_2_cnt: {
  536. dece: {
  537. dece1: { type: Number },
  538. dece2: { type: Number },
  539. dece3: { type: Number },
  540. dece4: { type: Number },
  541. dece5: { type: Number },
  542. dece6: { type: Number },
  543. dece7: { type: Number },
  544. dece8: { type: Number },
  545. dece9: { type: Number },
  546. dece10: { type: Number },
  547. },
  548. },
  549. sp_3_cnt: {
  550. dece: {
  551. dece1: { type: Number },
  552. dece2: { type: Number },
  553. dece3: { type: Number },
  554. dece4: { type: Number },
  555. dece5: { type: Number },
  556. dece6: { type: Number },
  557. dece7: { type: Number },
  558. dece8: { type: Number },
  559. dece9: { type: Number },
  560. dece10: { type: Number },
  561. },
  562. },
  563. sp_4_cnt: {
  564. dece: {
  565. dece1: { type: Number },
  566. dece2: { type: Number },
  567. dece3: { type: Number },
  568. dece4: { type: Number },
  569. dece5: { type: Number },
  570. dece6: { type: Number },
  571. dece7: { type: Number },
  572. dece8: { type: Number },
  573. dece9: { type: Number },
  574. dece10: { type: Number },
  575. },
  576. },
  577. sp_5_cnt: {
  578. dece: {
  579. dece1: { type: Number },
  580. dece2: { type: Number },
  581. dece3: { type: Number },
  582. dece4: { type: Number },
  583. dece5: { type: Number },
  584. dece6: { type: Number },
  585. dece7: { type: Number },
  586. dece8: { type: Number },
  587. dece9: { type: Number },
  588. dece10: { type: Number },
  589. },
  590. },
  591. sp_6_cnt: {
  592. dece: {
  593. dece1: { type: Number },
  594. dece2: { type: Number },
  595. dece3: { type: Number },
  596. dece4: { type: Number },
  597. dece5: { type: Number },
  598. dece6: { type: Number },
  599. dece7: { type: Number },
  600. dece8: { type: Number },
  601. dece9: { type: Number },
  602. dece10: { type: Number },
  603. },
  604. },
  605. sp_7_cnt: {
  606. dece: {
  607. dece1: { type: Number },
  608. dece2: { type: Number },
  609. dece3: { type: Number },
  610. dece4: { type: Number },
  611. dece5: { type: Number },
  612. dece6: { type: Number },
  613. dece7: { type: Number },
  614. dece8: { type: Number },
  615. dece9: { type: Number },
  616. dece10: { type: Number },
  617. },
  618. },
  619. },
  620. },
  621. // stats_dece:制动减速度区间制动过程次数或占比
  622. // dece[x],其中x为动态值1-10,分别表示0-0.4,每0.04一个区间。比如:1表示的是0-0.04g区间段统计值
  623. stats_dece: {
  624. dece1: { type: Number },
  625. dece2: { type: Number },
  626. dece3: { type: Number },
  627. dece4: { type: Number },
  628. dece5: { type: Number },
  629. dece6: { type: Number },
  630. dece7: { type: Number },
  631. dece8: { type: Number },
  632. dece9: { type: Number },
  633. dece10: { type: Number },
  634. },
  635. // stats_acce_cnt: 加速踏板开度统计
  636. // ar[x]:
  637. // x为加速踏板开度区间
  638. // 1:0-10%
  639. // 2:10%-20%
  640. // 3:20%-30%
  641. // 4:30%-40%
  642. // 5:40%-50%
  643. // 6:50%-60%
  644. // 7:60%-70%
  645. // 8:70%-80%
  646. // 9:80%-90%
  647. // 10:90%-100%
  648. stats_acce_cnt: {
  649. // TODO 本次修改去掉外层的驾驶模式
  650. ar1: { type: Number },
  651. ar2: { type: Number },
  652. ar3: { type: Number },
  653. ar4: { type: Number },
  654. ar5: { type: Number },
  655. ar6: { type: Number },
  656. ar7: { type: Number },
  657. ar8: { type: Number },
  658. ar9: { type: Number },
  659. ar10: { type: Number },
  660. // dr_mode_auto: {
  661. // ar1: { type: Number },
  662. // ar2: { type: Number },
  663. // ar3: { type: Number },
  664. // ar4: { type: Number },
  665. // ar5: { type: Number },
  666. // ar6: { type: Number },
  667. // ar7: { type: Number },
  668. // ar8: { type: Number },
  669. // ar9: { type: Number },
  670. // ar10: { type: Number },
  671. // },
  672. // dr_mode_eco: {
  673. // ar1: { type: Number },
  674. // ar2: { type: Number },
  675. // ar3: { type: Number },
  676. // ar4: { type: Number },
  677. // ar5: { type: Number },
  678. // ar6: { type: Number },
  679. // ar7: { type: Number },
  680. // ar8: { type: Number },
  681. // ar9: { type: Number },
  682. // ar10: { type: Number },
  683. // },
  684. // dr_mode_sport: {
  685. // ar1: { type: Number },
  686. // ar2: { type: Number },
  687. // ar3: { type: Number },
  688. // ar4: { type: Number },
  689. // ar5: { type: Number },
  690. // ar6: { type: Number },
  691. // ar7: { type: Number },
  692. // ar8: { type: Number },
  693. // ar9: { type: Number },
  694. // ar10: { type: Number },
  695. // },
  696. // dr_mode_confort: {
  697. // ar1: { type: Number },
  698. // ar2: { type: Number },
  699. // ar3: { type: Number },
  700. // ar4: { type: Number },
  701. // ar5: { type: Number },
  702. // ar6: { type: Number },
  703. // ar7: { type: Number },
  704. // ar8: { type: Number },
  705. // ar9: { type: Number },
  706. // ar10: { type: Number },
  707. // },
  708. },
  709. // stats_sp_range:车速分布
  710. // range[x]_cnt::各速度分布次数,x为车速分布区间
  711. // range1_cnt:车速在0-10km/h内次数
  712. // range2_cnt:车速在10-20km/h内次数
  713. // range3_cnt:车速在20-30km/h内次数
  714. // range4_cnt:车速在30-40km/h内次数
  715. // range5_cnt:车速在40-50km/h内次数
  716. // range6_cnt:车速在50-60km/h内次数
  717. // range7_cnt:车速在60-70km/h内次数
  718. // range8_cnt:车速在70-80km/h内次数
  719. // range9_cnt:车速在80-90km/h内次数
  720. // range10_cnt:车速在90-100km/h内次数
  721. // range11_cnt:车速在100-110km/h内次数
  722. // range12_cnt:车速在110-120km/h内次数
  723. // range13_cnt:车速在120km/h以上次数
  724. stats_sp_range: {
  725. range1_cnt: { type: Number },
  726. range2_cnt: { type: Number },
  727. range3_cnt: { type: Number },
  728. range4_cnt: { type: Number },
  729. range5_cnt: { type: Number },
  730. range6_cnt: { type: Number },
  731. range7_cnt: { type: Number },
  732. range8_cnt: { type: Number },
  733. range9_cnt: { type: Number },
  734. range10_cnt: { type: Number },
  735. range11_cnt: { type: Number },
  736. range12_cnt: { type: Number },
  737. range13_cnt: { type: Number },
  738. },
  739. // stats_rotate:最大转向角度区间转向过程次数或占比
  740. // rotate1: 3-10 deg
  741. // rotate2: 10-50 deg
  742. // rotate3: 50-100 deg
  743. // rotate4: 100-200 deg
  744. // rotate5: 200-300 deg
  745. // rotate6: 300-400 deg
  746. // rotate7: 400-500 deg
  747. // rotate8: 500-550deg
  748. stats_rotate: {
  749. rotate1: { type: Number },
  750. rotate2: { type: Number },
  751. rotate3: { type: Number },
  752. rotate4: { type: Number },
  753. rotate5: { type: Number },
  754. rotate6: { type: Number },
  755. rotate7: { type: Number },
  756. rotate8: { type: Number },
  757. },
  758. // stats_sp_rotate:车速对应转角分布
  759. // sp_[x]_cnt:车速区间:(1:0-50km/h、2:50-80km/h、3:80-140km/h)
  760. // rotate[y]:各个转角区间(个数待定)
  761. stats_sp_rotate: {
  762. sp_1_cnt: {
  763. rotate1: { type: Number },
  764. rotate2: { type: Number },
  765. rotate3: { type: Number },
  766. rotate4: { type: Number },
  767. rotate5: { type: Number },
  768. rotate6: { type: Number },
  769. rotate7: { type: Number },
  770. rotate8: { type: Number },
  771. },
  772. sp_2_cnt: {
  773. rotate1: { type: Number },
  774. rotate2: { type: Number },
  775. rotate3: { type: Number },
  776. rotate4: { type: Number },
  777. rotate5: { type: Number },
  778. rotate6: { type: Number },
  779. rotate7: { type: Number },
  780. rotate8: { type: Number },
  781. },
  782. sp_3_cnt: {
  783. rotate1: { type: Number },
  784. rotate2: { type: Number },
  785. rotate3: { type: Number },
  786. rotate4: { type: Number },
  787. rotate5: { type: Number },
  788. rotate6: { type: Number },
  789. rotate7: { type: Number },
  790. rotate8: { type: Number },
  791. },
  792. },
  793. // stats_high_sp: 高速行驶车速分布
  794. // high_sp1:80-100km/h车速区间段行驶时长
  795. // high_sp2:100-120km/h车速区间段行驶时长
  796. // high_sp3:120km/h以上车速区间段行驶时长
  797. stats_high_sp: {
  798. high_sp1: { type: Number },
  799. high_sp2: { type: Number },
  800. high_sp3: { type: Number },
  801. },
  802. // stats_start_sp: 起步车速分析
  803. // start_sp[x]: 其中x为1-14,表示起步车速区间段,5km/h一个区间段。eg:start_sp表示的是0-5km起步车速的统计数值,若没有时为0。
  804. stats_start_sp: {
  805. start_sp1: { type: Number },
  806. start_sp2: { type: Number },
  807. start_sp3: { type: Number },
  808. start_sp4: { type: Number },
  809. start_sp5: { type: Number },
  810. start_sp6: { type: Number },
  811. start_sp7: { type: Number },
  812. start_sp8: { type: Number },
  813. start_sp9: { type: Number },
  814. start_sp10: { type: Number },
  815. start_sp11: { type: Number },
  816. start_sp12: { type: Number },
  817. start_sp13: { type: Number },
  818. start_sp14: { type: Number },
  819. },
  820. // TODO 以下为新增
  821. // 纵向加速度区间 acce代表0-0.5g 0.05g为分段 共10段
  822. yaw_portrait_acces: {
  823. acce1: { type: Number },
  824. acce2: { type: Number },
  825. acce3: { type: Number },
  826. acce4: { type: Number },
  827. acce5: { type: Number },
  828. acce6: { type: Number },
  829. acce7: { type: Number },
  830. acce8: { type: Number },
  831. acce9: { type: Number },
  832. acce10: { type: Number },
  833. },
  834. // 纵向减速度区间 dece代表0-0.8g 0.05g为分段 共16段
  835. stats_dece_other: {
  836. dece1: { type: Number },
  837. dece2: { type: Number },
  838. dece3: { type: Number },
  839. dece4: { type: Number },
  840. dece5: { type: Number },
  841. dece6: { type: Number },
  842. dece7: { type: Number },
  843. dece8: { type: Number },
  844. dece9: { type: Number },
  845. dece10: { type: Number },
  846. dece11: { type: Number },
  847. dece12: { type: Number },
  848. dece13: { type: Number },
  849. dece14: { type: Number },
  850. dece15: { type: Number },
  851. dece16: { type: Number },
  852. },
  853. // 侧向加速度区间 acce代表0-0.5g 0.05g为分段 共10段
  854. side_portrait_acces: {
  855. acce1: { type: Number },
  856. acce2: { type: Number },
  857. acce3: { type: Number },
  858. acce4: { type: Number },
  859. acce5: { type: Number },
  860. acce6: { type: Number },
  861. acce7: { type: Number },
  862. acce8: { type: Number },
  863. acce9: { type: Number },
  864. acce10: { type: Number },
  865. },
  866. // 不同车速下耗电占比
  867. // range[x]_cnt::各速度电耗量,x为车速分布区间
  868. // range1_cnt:车速在0-10km/h内次数
  869. // range2_cnt:车速在10-20km/h内次数
  870. // range3_cnt:车速在20-30km/h内次数
  871. // range4_cnt:车速在30-40km/h内次数
  872. // range5_cnt:车速在40-50km/h内次数
  873. // range6_cnt:车速在50-60km/h内次数
  874. // range7_cnt:车速在60-70km/h内次数
  875. // range8_cnt:车速在70-80km/h内次数
  876. // range9_cnt:车速在80-90km/h内次数
  877. // range10_cnt:车速在90-100km/h内次数
  878. // range11_cnt:车速在100-110km/h内次数
  879. // range12_cnt:车速在110-120km/h内次数
  880. // range13_cnt:车速在120km/h以上次数
  881. sp_power_consumption: {
  882. range1_cnt: { type: Number },
  883. range2_cnt: { type: Number },
  884. range3_cnt: { type: Number },
  885. range4_cnt: { type: Number },
  886. range5_cnt: { type: Number },
  887. range6_cnt: { type: Number },
  888. range7_cnt: { type: Number },
  889. range8_cnt: { type: Number },
  890. range9_cnt: { type: Number },
  891. range10_cnt: { type: Number },
  892. range11_cnt: { type: Number },
  893. range12_cnt: { type: Number },
  894. range13_cnt: { type: Number },
  895. },
  896. });
  897. StatsBaseInfoSchema.index({ start_time: -1 });
  898. StatsBaseInfoSchema.index({ start_time: -1, vin: -1 });
  899. StatsBaseInfoSchema.index({ vin: -1 });
  900. return conn.model('StatsBaseInfo', StatsBaseInfoSchema, 'stats_base_info');
  901. };