Mashup REST API for mobility data.
This is a geographical enrichment demonstrator that Aggregates and enrich information from the following 3 sources:
- Navitia (https://api.navitia.io)
- OpenStreetMap (https://api.openstreetmap.org and https://overpass-api.de)
- Here (https://here.com)
Geographical demonstrator supports 3 standard data format for enrichment:
- OSM: Open Street Map
- GTFS: General Transit Feed Specification
- GeoJson: Representation of geographical features based on Json
An example of API enrichment is illustrated in the bellow sequence diagram:
- Install OpenJDK 17
- Install Node.js
- Install OsmToGeoJson module
- Install GtfsToGeoJson module
$ npm install -g osmtogeojson
$ npm install -g gtfs-to-geojson
$ mvn install -DskipTests
$ mvn spring-boot:run
The application is also packaged as a standalone jar which can be run as follows:
$ java -jar target/mdl-geo-enrichment-0.0.1-SNAPSHOT.jar
A docker image is built automatically upon main branch and pushed to docker hub with the deployed application and all prerequisites installed: openjdk11-jre & nodejs & osmtogeojson module
docker run -d -p 80:80 -p 443:443 wanam/mdl-geo-enrichment:latest --pull=always
/!\ A selfsigned certificate is used for TLS testing purposes, do not use it for production! An authority cetificate will be needed for production use.
Once the application is up, you can browse the apis on your local server through HTTP and HTTPS
Enriched data will be stored on a separate attribute 'enriched_properties' for each stop point on the api response.