Express-based web server that exposes air quality observations from the Obelisk platform as Linked Data documents, using a geospatial fragmentation based on tiles.
The server uses an NGINX proxy and cache to store requested data fragments, speeding up the process.
Clone this repository and run npm install.
- First create a file called
ObeliskLogin.jsonin the root folder containing the following structure:
{
"ObeliskClientId": "xxxxx",
"ObeliskClientSecret": "yyyyyyy"
} Replace the values with your Obelisk credentials. See here to request new credentials.
- Compile the project running
npm run build. - Finally run
docker-compose upto start the server.
Once the server is running you can query the data using the following template:
http://localhost:5000/data/14/{x}/{y}{?page,aggrMethod,aggrPeriod}
Where x and y are the coordinates of a certain tile and page is an ISO date that determines the day the air quality measurements were taken.
aggrMethod and aggrPeriod define the used aggregation method and time interval for the aggregation respectively.
Types for aggrMethod currently are average and median. Types for aggrPeriod are min, hour and day.
If these two parameters are undefined, the raw data is queried.
For example:
http://localhost:5000/data/14/8392/5467?page=2019-08-06T00:00:00.000Z&aggrMethod=median&aggrPeriod=hour