@golemio/flow 1.0.8-dev.568903441 → 1.0.8-dev.573594395

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -0,0 +1,157 @@
1
+ # Implementační dokumentace modulu *flow*
2
+
3
+ ## Záměr
4
+
5
+ Stručný popis, k čemu modul slouží.
6
+
7
+ Počítání pěších (a případně dalších detekovaných objektů, jako jsou vozidla, kola, motocykly) nad streamy kamer z MKS prostřenictvím videoanalytické aplikace FLOW od RCE Systems
8
+
9
+ ## Vstupní data
10
+
11
+ ### Data aktivně stahujeme
12
+
13
+ Popis dat, jak je pomocí cronu a integration-engine stahujeme. Pokud jsou data stahována z více zdrojů, každý zdroj je popsán zvlášť.
14
+
15
+ #### *FlowAPI*
16
+
17
+ - zdroj dat
18
+ - url https://10.200.4.4:8080/api/cubes
19
+ - bearer auth
20
+ - header Accept-Version: 1.3
21
+ - formát dat
22
+ - protokol HTTP get
23
+ - datový typ json stream
24
+ - frekvence stahování
25
+ - cron definice 0 6,26,46 * * * *
26
+ - název rabbitmq fronty
27
+ - popis / název fronty, která vyvolá proces integrace, ve které je zdroj dat obsažen
28
+ - dataplatform.flowmeasurements.refreshCubes
29
+
30
+
31
+
32
+ ## Zpracování dat / transformace
33
+
34
+ Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
35
+
36
+ ### *FlowWorker*
37
+
38
+ Stručný popis workeru.
39
+
40
+ #### *refreshCubes*
41
+
42
+ - vstupní rabbitmq fronta
43
+ - název dataplatform.flowmeasurements.refreshCubes
44
+ - zpráva vyvolana cronem je prázdná, ale také může obsahovat json s from a to v ISO 8601 formátu. Také lze jak vstup použít nějkolik dvojic from a to v poli.
45
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
46
+ - název dataplatform.flowmeasurements.getAnalytics
47
+ - ve zprávě se posílá každá cube zvlášť případně obohacena o pole intervalů from a to
48
+ - datové zdroje
49
+ - cubes z FlowAPI
50
+ - data modely
51
+ - výčet datových modelů, kam se data ukládájí
52
+ - flowCubesModel - uklada definice cube do flow_cubes
53
+
54
+ #### *getAnalytics*
55
+
56
+ - vstupní rabbitmq fronta
57
+ - název dataplatform.flowmeasurements.getAnalytics
58
+ - zpráva obsahuje cube a pole intervalů from to
59
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
60
+ - název dataplatform.flowmeasurements.getSinks
61
+ - ve zprávě se posílá celá cube zpříchozí zpravy, stažená analytic.data a intervaly from a to
62
+ - datové zdroje
63
+ - GET FlowAPI/:cube.id/analytics
64
+ - GET FlowAPI/:cube.id/analytics/:analytic.id
65
+ - data modely
66
+ - v této fázi se do databáze nic neukládá
67
+
68
+ #### *getSinks*
69
+
70
+ - vstupní rabbitmq fronta
71
+ - název dataplatform.flowmeasurements.getSinks
72
+ - zpráva obsahuje cube, analytic a pole intervalů from to ziskané v přechozích částech
73
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
74
+ - název
75
+ dataplatform.flowmeasurements.getSinksHistoryPayloads
76
+ - příchozí zpráva se obohacuje o sinks a value type sinku
77
+ - datové zdroje
78
+ - GET FlowAPI/:cube.id/analytics/:analytic.id/sinks
79
+ - data modely
80
+ - výčet datových modelů, kam se data ukládájí
81
+ - flowSinksModel - aktualizuje číselník Sinks (?senzorů?)
82
+
83
+ #### *getSinksHistoryPayloads*
84
+
85
+ - vstupní rabbitmq fronta
86
+ - název dataplatform.flowmeasurements.getSinksHistoryPayloads
87
+ - zpráva obsahuje cube, analytic, sinks, sink type a pole intervalů from to ziskané v přechozích částech
88
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
89
+ - název
90
+ dataplatform.flowmeasurements.getSinksHistory
91
+ - zpráva obsahuje analytic, cube, sink type a payload (payload je vytvořen za pomocí hodnot z časových intervalů, analytic sequence number a indetifikatoru)
92
+ - datové zdroje
93
+ - nic se nestahuje
94
+ - data modely
95
+ - nic se neukládá
96
+ - účel
97
+ - zpráva se rozdrobí na atomické zprávy pro jednotlivé sinky a time framy
98
+
99
+ #### *getSinksHistory*
100
+
101
+ - vstupní rabbitmq fronta
102
+ - název dataplatform.flowmeasurements.getSinksHistory
103
+ - zpráva obsahuje cube, analytic, payload, sink type
104
+ - datové zdroje
105
+ - POST FlowAPI/:cube.id/analytics/:analytic.id/sinks/history
106
+ body ~ payload
107
+ - data modely
108
+ - flowMeasurementModel
109
+ - pro typ sinku distribution
110
+ - datová tabulka s měřením průchodu/ průjezdu entit (chodec, kolo ...)
111
+ - jméno tabulky flow_measurements
112
+ - flowODMeasurementModel
113
+ - pro typ sinku od_matrix
114
+ - datová tabulka s měřením průchodu/ průjezdu entit včetně směru pohybu (sloupce origin destination)
115
+ - jméno tabulky flow_od_measurements
116
+ ## Uložení dat
117
+
118
+ Popis ukládání dat.
119
+
120
+ ### Obecné
121
+
122
+ - typ databáze
123
+ - PSQL
124
+ - databázové schéma
125
+ - popis tabulek nebo odkaz na obrázek s databázovým schématem
126
+ - ![flow er diagram](assets/flow_erd.png)
127
+ - retence dat
128
+ - data jsou zachována
129
+
130
+ ## Output API
131
+
132
+ Popis output-api.
133
+
134
+ ### Obecné
135
+
136
+ - OpenAPI v3 dokumentace
137
+ - [odkaz na dokumentaci](./openapi.yaml)
138
+ - veřejné / neveřejné endpointy
139
+ - api je neveřejné
140
+
141
+ #### */locations*
142
+
143
+ - zdrojové view v_pedestrians_locations_api
144
+ - používá tabulku analytic.pedestrians_locations_api
145
+ - obohaceno o data z view v_pedestrians_directions_api
146
+ - používá tabulku analytic.pedestrians_directions_api
147
+
148
+ #### */measurements*
149
+
150
+ - zdrojové view mv_pedestrians_detections_api
151
+ - používá tabulky
152
+ - analytic.pedestrians_wifi
153
+ - counters_detections
154
+ - analytic.pedestrians_directions_api
155
+ - flow_measurements ~ pouze categorie pedestrian
156
+
157
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/flow",
3
- "version": "1.0.8-dev.568903441",
3
+ "version": "1.0.8-dev.573594395",
4
4
  "description": "Golemio Flow Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "test-debug": "run-s 'test --inspect-brk=9230'",
14
14
  "code-coverage": "nyc run-s 'test -r source-map-support/register'",
15
15
  "generate-docs": "typedoc --out docs/typedoc src",
16
- "lint": "eslint '{src,test}/**/*.ts'"
16
+ "lint": "eslint \"{src,test}/**/*.ts\""
17
17
  },
18
18
  "keywords": [
19
19
  "golemio"