@golemio/rush-hour-aggregation
v1.5.0
Published
Rush hour data aggregation for Praha dopravní project
Readme
This module is intended for use with Golemio services. Refer here for further information on usage, local development and more.
Installation
The APIs may be unstable. Therefore, we recommend to install this module as an exact version.
# Latest version
npm install --save-exact @golemio/rush-hour-aggregation@latest
# Development version
npm install --save-exact @golemio/rush-hour-aggregation@devDescription
This module aggregates traffic data for Praha dopravní project. It takes different traffic dataset avaiable in a golemio dataplatform and creates time series data for traffic jams, incidents or reconstructions.
Rabin Praha dopravní Backend repo Praha dopravní
Datasources
- Waze
- SDDŘ
- FCD
- NDIC
Current setup
Every 5 minutes worker starts and for each of the datasource aggregation is run and timeseries data are updated.
Aggregation of older data
It is possible to insert or update historic data by creation of manual message in RabbitMQ. E.g. to insert data for Fcd for first month in 2022 use following message:
{
"from": "2020-01-01T00:00:00Z",
"to": "2020-01-31T23:59:59Z",
"type": "fcd"
}As of version 1.0.5 for FCD put maximum one month in one message. If whole year needs to be updated send 12 messages. For NDIC and SDDR use max 3 months and for waze 6 months.
Message building blocks
Message has to be in json format and supports following fields:
from - Required date time setting when the aggregation has to start. It is formatted in ISO 8601 preferably UTC format with Z at the end
to - Required date time setting when the aggregation has is ending. It is formatted in ISO 8601 preferably UTC format with Z at the end
type - Required setting which aggregation should be run. Possible values: WAZEJ, WAZER, SDDR, FCD, NDIC. (Case insensitive)
updateOnDuplicate - Optional setting for situation when upgrade of already aggregated data is required. Possible values "true", "false". Default value is false. (Note: automatic 5 minute updates have the setting to true)
refreshView - Optional setting to refresh latest materialized view. Possible values "true", "false". Default value is false. (Note: automatic 5 minute updates have the setting to true)
To initiate automatic 5 minute aggregation manually it is possible to send empty message.
