@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
|
+
- 
|
|
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.
|
|
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
|
|
16
|
+
"lint": "eslint \"{src,test}/**/*.ts\""
|
|
17
17
|
},
|
|
18
18
|
"keywords": [
|
|
19
19
|
"golemio"
|