statsBaseInfoModel.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  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. },
  187. // stats_sp_dece_cnt:车辆行驶过程中制动踏板开度以及对应减速度
  188. // 统计不同驾驶模式下(在不同能量回收模式下),即驾驶模式作为筛选条件,只统计自动(auto),经济(eco),运动(sport),舒适(confort)模式下,不同速度区间减速度分布
  189. // sp_{x}_cnt,其中x为动态值:1-7.分别表示:0-5、5-10、10-30、30-60、60-80、80-100、100-140车速区间段。
  190. stats_sp_dece_cnt: {
  191. dr_mode_auto: {
  192. sp_1_cnt: {
  193. dece: {
  194. dece1: { type: Number },
  195. dece2: { type: Number },
  196. dece3: { type: Number },
  197. dece4: { type: Number },
  198. dece5: { type: Number },
  199. dece6: { type: Number },
  200. dece7: { type: Number },
  201. dece8: { type: Number },
  202. dece9: { type: Number },
  203. dece10: { type: Number },
  204. },
  205. },
  206. sp_2_cnt: {
  207. dece: {
  208. dece1: { type: Number },
  209. dece2: { type: Number },
  210. dece3: { type: Number },
  211. dece4: { type: Number },
  212. dece5: { type: Number },
  213. dece6: { type: Number },
  214. dece7: { type: Number },
  215. dece8: { type: Number },
  216. dece9: { type: Number },
  217. dece10: { type: Number },
  218. },
  219. },
  220. sp_3_cnt: {
  221. dece: {
  222. dece1: { type: Number },
  223. dece2: { type: Number },
  224. dece3: { type: Number },
  225. dece4: { type: Number },
  226. dece5: { type: Number },
  227. dece6: { type: Number },
  228. dece7: { type: Number },
  229. dece8: { type: Number },
  230. dece9: { type: Number },
  231. dece10: { type: Number },
  232. },
  233. },
  234. sp_4_cnt: {
  235. dece: {
  236. dece1: { type: Number },
  237. dece2: { type: Number },
  238. dece3: { type: Number },
  239. dece4: { type: Number },
  240. dece5: { type: Number },
  241. dece6: { type: Number },
  242. dece7: { type: Number },
  243. dece8: { type: Number },
  244. dece9: { type: Number },
  245. dece10: { type: Number },
  246. },
  247. },
  248. sp_5_cnt: {
  249. dece: {
  250. dece1: { type: Number },
  251. dece2: { type: Number },
  252. dece3: { type: Number },
  253. dece4: { type: Number },
  254. dece5: { type: Number },
  255. dece6: { type: Number },
  256. dece7: { type: Number },
  257. dece8: { type: Number },
  258. dece9: { type: Number },
  259. dece10: { type: Number },
  260. },
  261. },
  262. sp_6_cnt: {
  263. dece: {
  264. dece1: { type: Number },
  265. dece2: { type: Number },
  266. dece3: { type: Number },
  267. dece4: { type: Number },
  268. dece5: { type: Number },
  269. dece6: { type: Number },
  270. dece7: { type: Number },
  271. dece8: { type: Number },
  272. dece9: { type: Number },
  273. dece10: { type: Number },
  274. },
  275. },
  276. sp_7_cnt: {
  277. dece: {
  278. dece1: { type: Number },
  279. dece2: { type: Number },
  280. dece3: { type: Number },
  281. dece4: { type: Number },
  282. dece5: { type: Number },
  283. dece6: { type: Number },
  284. dece7: { type: Number },
  285. dece8: { type: Number },
  286. dece9: { type: Number },
  287. dece10: { type: Number },
  288. },
  289. },
  290. },
  291. dr_mode_eco: {
  292. sp_1_cnt: {
  293. dece: {
  294. dece1: { type: Number },
  295. dece2: { type: Number },
  296. dece3: { type: Number },
  297. dece4: { type: Number },
  298. dece5: { type: Number },
  299. dece6: { type: Number },
  300. dece7: { type: Number },
  301. dece8: { type: Number },
  302. dece9: { type: Number },
  303. dece10: { type: Number },
  304. },
  305. },
  306. sp_2_cnt: {
  307. dece: {
  308. dece1: { type: Number },
  309. dece2: { type: Number },
  310. dece3: { type: Number },
  311. dece4: { type: Number },
  312. dece5: { type: Number },
  313. dece6: { type: Number },
  314. dece7: { type: Number },
  315. dece8: { type: Number },
  316. dece9: { type: Number },
  317. dece10: { type: Number },
  318. },
  319. },
  320. sp_3_cnt: {
  321. dece: {
  322. dece1: { type: Number },
  323. dece2: { type: Number },
  324. dece3: { type: Number },
  325. dece4: { type: Number },
  326. dece5: { type: Number },
  327. dece6: { type: Number },
  328. dece7: { type: Number },
  329. dece8: { type: Number },
  330. dece9: { type: Number },
  331. dece10: { type: Number },
  332. },
  333. },
  334. sp_4_cnt: {
  335. dece: {
  336. dece1: { type: Number },
  337. dece2: { type: Number },
  338. dece3: { type: Number },
  339. dece4: { type: Number },
  340. dece5: { type: Number },
  341. dece6: { type: Number },
  342. dece7: { type: Number },
  343. dece8: { type: Number },
  344. dece9: { type: Number },
  345. dece10: { type: Number },
  346. },
  347. },
  348. sp_5_cnt: {
  349. dece: {
  350. dece1: { type: Number },
  351. dece2: { type: Number },
  352. dece3: { type: Number },
  353. dece4: { type: Number },
  354. dece5: { type: Number },
  355. dece6: { type: Number },
  356. dece7: { type: Number },
  357. dece8: { type: Number },
  358. dece9: { type: Number },
  359. dece10: { type: Number },
  360. },
  361. },
  362. sp_6_cnt: {
  363. dece: {
  364. dece1: { type: Number },
  365. dece2: { type: Number },
  366. dece3: { type: Number },
  367. dece4: { type: Number },
  368. dece5: { type: Number },
  369. dece6: { type: Number },
  370. dece7: { type: Number },
  371. dece8: { type: Number },
  372. dece9: { type: Number },
  373. dece10: { type: Number },
  374. },
  375. },
  376. sp_7_cnt: {
  377. dece: {
  378. dece1: { type: Number },
  379. dece2: { type: Number },
  380. dece3: { type: Number },
  381. dece4: { type: Number },
  382. dece5: { type: Number },
  383. dece6: { type: Number },
  384. dece7: { type: Number },
  385. dece8: { type: Number },
  386. dece9: { type: Number },
  387. dece10: { type: Number },
  388. },
  389. },
  390. },
  391. dr_mode_sport: {
  392. sp_1_cnt: {
  393. dece: {
  394. dece1: { type: Number },
  395. dece2: { type: Number },
  396. dece3: { type: Number },
  397. dece4: { type: Number },
  398. dece5: { type: Number },
  399. dece6: { type: Number },
  400. dece7: { type: Number },
  401. dece8: { type: Number },
  402. dece9: { type: Number },
  403. dece10: { type: Number },
  404. },
  405. },
  406. sp_2_cnt: {
  407. dece: {
  408. dece1: { type: Number },
  409. dece2: { type: Number },
  410. dece3: { type: Number },
  411. dece4: { type: Number },
  412. dece5: { type: Number },
  413. dece6: { type: Number },
  414. dece7: { type: Number },
  415. dece8: { type: Number },
  416. dece9: { type: Number },
  417. dece10: { type: Number },
  418. },
  419. },
  420. sp_3_cnt: {
  421. dece: {
  422. dece1: { type: Number },
  423. dece2: { type: Number },
  424. dece3: { type: Number },
  425. dece4: { type: Number },
  426. dece5: { type: Number },
  427. dece6: { type: Number },
  428. dece7: { type: Number },
  429. dece8: { type: Number },
  430. dece9: { type: Number },
  431. dece10: { type: Number },
  432. },
  433. },
  434. sp_4_cnt: {
  435. dece: {
  436. dece1: { type: Number },
  437. dece2: { type: Number },
  438. dece3: { type: Number },
  439. dece4: { type: Number },
  440. dece5: { type: Number },
  441. dece6: { type: Number },
  442. dece7: { type: Number },
  443. dece8: { type: Number },
  444. dece9: { type: Number },
  445. dece10: { type: Number },
  446. },
  447. },
  448. sp_5_cnt: {
  449. dece: {
  450. dece1: { type: Number },
  451. dece2: { type: Number },
  452. dece3: { type: Number },
  453. dece4: { type: Number },
  454. dece5: { type: Number },
  455. dece6: { type: Number },
  456. dece7: { type: Number },
  457. dece8: { type: Number },
  458. dece9: { type: Number },
  459. dece10: { type: Number },
  460. },
  461. },
  462. sp_6_cnt: {
  463. dece: {
  464. dece1: { type: Number },
  465. dece2: { type: Number },
  466. dece3: { type: Number },
  467. dece4: { type: Number },
  468. dece5: { type: Number },
  469. dece6: { type: Number },
  470. dece7: { type: Number },
  471. dece8: { type: Number },
  472. dece9: { type: Number },
  473. dece10: { type: Number },
  474. },
  475. },
  476. sp_7_cnt: {
  477. dece: {
  478. dece1: { type: Number },
  479. dece2: { type: Number },
  480. dece3: { type: Number },
  481. dece4: { type: Number },
  482. dece5: { type: Number },
  483. dece6: { type: Number },
  484. dece7: { type: Number },
  485. dece8: { type: Number },
  486. dece9: { type: Number },
  487. dece10: { type: Number },
  488. },
  489. },
  490. },
  491. dr_mode_confort: {
  492. sp_1_cnt: {
  493. dece: {
  494. dece1: { type: Number },
  495. dece2: { type: Number },
  496. dece3: { type: Number },
  497. dece4: { type: Number },
  498. dece5: { type: Number },
  499. dece6: { type: Number },
  500. dece7: { type: Number },
  501. dece8: { type: Number },
  502. dece9: { type: Number },
  503. dece10: { type: Number },
  504. },
  505. },
  506. sp_2_cnt: {
  507. dece: {
  508. dece1: { type: Number },
  509. dece2: { type: Number },
  510. dece3: { type: Number },
  511. dece4: { type: Number },
  512. dece5: { type: Number },
  513. dece6: { type: Number },
  514. dece7: { type: Number },
  515. dece8: { type: Number },
  516. dece9: { type: Number },
  517. dece10: { type: Number },
  518. },
  519. },
  520. sp_3_cnt: {
  521. dece: {
  522. dece1: { type: Number },
  523. dece2: { type: Number },
  524. dece3: { type: Number },
  525. dece4: { type: Number },
  526. dece5: { type: Number },
  527. dece6: { type: Number },
  528. dece7: { type: Number },
  529. dece8: { type: Number },
  530. dece9: { type: Number },
  531. dece10: { type: Number },
  532. },
  533. },
  534. sp_4_cnt: {
  535. dece: {
  536. dece1: { type: Number },
  537. dece2: { type: Number },
  538. dece3: { type: Number },
  539. dece4: { type: Number },
  540. dece5: { type: Number },
  541. dece6: { type: Number },
  542. dece7: { type: Number },
  543. dece8: { type: Number },
  544. dece9: { type: Number },
  545. dece10: { type: Number },
  546. },
  547. },
  548. sp_5_cnt: {
  549. dece: {
  550. dece1: { type: Number },
  551. dece2: { type: Number },
  552. dece3: { type: Number },
  553. dece4: { type: Number },
  554. dece5: { type: Number },
  555. dece6: { type: Number },
  556. dece7: { type: Number },
  557. dece8: { type: Number },
  558. dece9: { type: Number },
  559. dece10: { type: Number },
  560. },
  561. },
  562. sp_6_cnt: {
  563. dece: {
  564. dece1: { type: Number },
  565. dece2: { type: Number },
  566. dece3: { type: Number },
  567. dece4: { type: Number },
  568. dece5: { type: Number },
  569. dece6: { type: Number },
  570. dece7: { type: Number },
  571. dece8: { type: Number },
  572. dece9: { type: Number },
  573. dece10: { type: Number },
  574. },
  575. },
  576. sp_7_cnt: {
  577. dece: {
  578. dece1: { type: Number },
  579. dece2: { type: Number },
  580. dece3: { type: Number },
  581. dece4: { type: Number },
  582. dece5: { type: Number },
  583. dece6: { type: Number },
  584. dece7: { type: Number },
  585. dece8: { type: Number },
  586. dece9: { type: Number },
  587. dece10: { type: Number },
  588. },
  589. },
  590. },
  591. },
  592. // stats_dece:制动减速度区间制动过程次数或占比
  593. // dece[x],其中x为动态值1-10,分别表示0-0.4,每0.04一个区间。比如:1表示的是0-0.04g区间段统计值
  594. stats_dece: {
  595. dece1: { type: Number },
  596. dece2: { type: Number },
  597. dece3: { type: Number },
  598. dece4: { type: Number },
  599. dece5: { type: Number },
  600. dece6: { type: Number },
  601. dece7: { type: Number },
  602. dece8: { type: Number },
  603. dece9: { type: Number },
  604. dece10: { type: Number },
  605. },
  606. // stats_acce_cnt: 加速踏板开度统计
  607. // ar[x]:
  608. // x为加速踏板开度区间
  609. // 1:0-10%
  610. // 2:10%-20%
  611. // 3:20%-30%
  612. // 4:30%-40%
  613. // 5:40%-50%
  614. // 6:50%-60%
  615. // 7:60%-70%
  616. // 8:70%-80%
  617. // 9:80%-90%
  618. // 10:90%-100%
  619. stats_acce_cnt: {
  620. dr_mode_auto: {
  621. ar1: { type: Number },
  622. ar2: { type: Number },
  623. ar3: { type: Number },
  624. ar4: { type: Number },
  625. ar5: { type: Number },
  626. ar6: { type: Number },
  627. ar7: { type: Number },
  628. ar8: { type: Number },
  629. ar9: { type: Number },
  630. ar10: { type: Number },
  631. },
  632. dr_mode_eco: {
  633. ar1: { type: Number },
  634. ar2: { type: Number },
  635. ar3: { type: Number },
  636. ar4: { type: Number },
  637. ar5: { type: Number },
  638. ar6: { type: Number },
  639. ar7: { type: Number },
  640. ar8: { type: Number },
  641. ar9: { type: Number },
  642. ar10: { type: Number },
  643. },
  644. dr_mode_sport: {
  645. ar1: { type: Number },
  646. ar2: { type: Number },
  647. ar3: { type: Number },
  648. ar4: { type: Number },
  649. ar5: { type: Number },
  650. ar6: { type: Number },
  651. ar7: { type: Number },
  652. ar8: { type: Number },
  653. ar9: { type: Number },
  654. ar10: { type: Number },
  655. },
  656. dr_mode_confort: {
  657. ar1: { type: Number },
  658. ar2: { type: Number },
  659. ar3: { type: Number },
  660. ar4: { type: Number },
  661. ar5: { type: Number },
  662. ar6: { type: Number },
  663. ar7: { type: Number },
  664. ar8: { type: Number },
  665. ar9: { type: Number },
  666. ar10: { type: Number },
  667. },
  668. },
  669. // stats_sp_range:车速分布
  670. // range[x]_cnt::各速度分布次数,x为车速分布区间
  671. // range1_cnt:车速在0-10km/h内次数
  672. // range2_cnt:车速在10-20km/h内次数
  673. // range3_cnt:车速在20-30km/h内次数
  674. // range4_cnt:车速在30-40km/h内次数
  675. // range5_cnt:车速在40-50km/h内次数
  676. // range6_cnt:车速在50-60km/h内次数
  677. // range7_cnt:车速在60-70km/h内次数
  678. // range8_cnt:车速在70-80km/h内次数
  679. // range9_cnt:车速在80-90km/h内次数
  680. // range10_cnt:车速在90-100km/h内次数
  681. // range11_cnt:车速在100-110km/h内次数
  682. // range12_cnt:车速在110-120km/h内次数
  683. // range13_cnt:车速在120km/h以上次数
  684. stats_sp_range: {
  685. range1_cnt: { type: Number },
  686. range2_cnt: { type: Number },
  687. range3_cnt: { type: Number },
  688. range4_cnt: { type: Number },
  689. range5_cnt: { type: Number },
  690. range6_cnt: { type: Number },
  691. range7_cnt: { type: Number },
  692. range8_cnt: { type: Number },
  693. range9_cnt: { type: Number },
  694. range10_cnt: { type: Number },
  695. range11_cnt: { type: Number },
  696. range12_cnt: { type: Number },
  697. range13_cnt: { type: Number },
  698. },
  699. // stats_rotate:最大转向角度区间转向过程次数或占比
  700. // rotate1: 3-10 deg
  701. // rotate2: 10-50 deg
  702. // rotate3: 50-100 deg
  703. // rotate4: 100-200 deg
  704. // rotate5: 200-300 deg
  705. // rotate6: 300-400 deg
  706. // rotate7: 400-500 deg
  707. // rotate8: 500-550deg
  708. stats_rotate: {
  709. rotate1: { type: Number },
  710. rotate2: { type: Number },
  711. rotate3: { type: Number },
  712. rotate4: { type: Number },
  713. rotate5: { type: Number },
  714. rotate6: { type: Number },
  715. rotate7: { type: Number },
  716. rotate8: { type: Number },
  717. },
  718. // stats_sp_rotate:车速对应转角分布
  719. // sp_[x]_cnt:车速区间:(1:0-50km/h、2:50-80km/h、3:80-140km/h)
  720. // rotate[y]:各个转角区间(个数待定)
  721. stats_sp_rotate: {
  722. sp_1_cnt: {
  723. rotate1: { type: Number },
  724. rotate2: { type: Number },
  725. rotate3: { type: Number },
  726. rotate4: { type: Number },
  727. rotate5: { type: Number },
  728. rotate6: { type: Number },
  729. rotate7: { type: Number },
  730. rotate8: { type: Number },
  731. },
  732. sp_2_cnt: {
  733. rotate1: { type: Number },
  734. rotate2: { type: Number },
  735. rotate3: { type: Number },
  736. rotate4: { type: Number },
  737. rotate5: { type: Number },
  738. rotate6: { type: Number },
  739. rotate7: { type: Number },
  740. rotate8: { type: Number },
  741. },
  742. sp_3_cnt: {
  743. rotate1: { type: Number },
  744. rotate2: { type: Number },
  745. rotate3: { type: Number },
  746. rotate4: { type: Number },
  747. rotate5: { type: Number },
  748. rotate6: { type: Number },
  749. rotate7: { type: Number },
  750. rotate8: { type: Number },
  751. },
  752. },
  753. // stats_high_sp: 高速行驶车速分布
  754. // high_sp1:80-100km/h车速区间段行驶时长
  755. // high_sp2:100-120km/h车速区间段行驶时长
  756. // high_sp3:120km/h以上车速区间段行驶时长
  757. stats_high_sp: {
  758. high_sp1: { type: Number },
  759. high_sp2: { type: Number },
  760. high_sp3: { type: Number },
  761. },
  762. // stats_start_sp: 起步车速分析
  763. // start_sp[x]: 其中x为1-14,表示起步车速区间段,5km/h一个区间段。eg:start_sp表示的是0-5km起步车速的统计数值,若没有时为0。
  764. stats_start_sp: {
  765. start_sp1: { type: Number },
  766. start_sp2: { type: Number },
  767. start_sp3: { type: Number },
  768. start_sp4: { type: Number },
  769. start_sp5: { type: Number },
  770. start_sp6: { type: Number },
  771. start_sp7: { type: Number },
  772. start_sp8: { type: Number },
  773. start_sp9: { type: Number },
  774. start_sp10: { type: Number },
  775. start_sp11: { type: Number },
  776. start_sp12: { type: Number },
  777. start_sp13: { type: Number },
  778. start_sp14: { type: Number },
  779. },
  780. });
  781. StatsBaseInfoSchema.index({ start_time: -1 });
  782. StatsBaseInfoSchema.index({ start_time: -1, vin: -1 });
  783. StatsBaseInfoSchema.index({ vin: -1 });
  784. return conn.model('StatsBaseInfo', StatsBaseInfoSchema, 'stats_base_info');
  785. };