This document discusses strategies for deploying travel diary collection systems like MEILI to new regions. It introduces MEILI, an open source system for collecting, annotating, and automating travel diaries. To simplify MEILI deployment, a new initialization script was added that sets up the database, imports auxiliary point of interest data from OpenStreetMap, and runs tests. This allows MEILI to be easily deployed anywhere OpenStreetMap data is available. Future work may include improving the user interface and identifying additional bottlenecks.
development of diagnostic enzyme assay to detect leuser virus
Strategies for the seamless deployment of travel diary collection systems to new regions
1. Strategies for the seamless deployment of
travel diary collection systems to new
regions
A. C. Prelipcean, Y. O. Susilo
Department of Transportation Science
KTH Royal Institute of Technology
acpr@kth.se
@Adi Prelipcean
adrianprelipcean.github.io
31 May 2017
2. Travel behaviour
How do we use travel behaviour?
Some of the main reasons for analyzing travel behaviour are:
to investigate the reasons and mechanisms that underlie
an individual’s travel decision making process,
2
3. Travel behaviour
How do we use travel behaviour?
Some of the main reasons for analyzing travel behaviour are:
to investigate the reasons and mechanisms that underlie
an individual’s travel decision making process,
to predict the effect of implementing new transportation
policies or changing the transportation infrastructure, or
2
4. Travel behaviour
How do we use travel behaviour?
Some of the main reasons for analyzing travel behaviour are:
to investigate the reasons and mechanisms that underlie
an individual’s travel decision making process,
to predict the effect of implementing new transportation
policies or changing the transportation infrastructure, or
to understand the dynamic of transportation movement
within study areas.
2
5. (Activity) Travel diaries
What are they?
A way of summarizing where, why and how a user traveled
during a defined time frame by specifying:
The destination of a trip
Img: http://soarministries.com/hp_wordpress/wp-content/uploads/2011/08/Destinations-Icon.jpg 3
6. (Activity) Travel diaries
What are they?
A way of summarizing where, why and how a user traveled
during a defined time frame by specifying:
The destination of a trip
The trip’s purpose
Img: https://cdn2.vox-cdn.com/thumbor/93Yaxs7y3Tb8tzFfppyRsSn_yN8=/1020x0/cdn0.vox-cdn.com/ 3
7. (Activity) Travel diaries
What are they?
A way of summarizing where, why and how a user traveled
during a defined time frame by specifying:
The destination of a trip
The trip’s purpose
The means of transportation, i.e., trip legs
Img: https://d3ui957tjb5bqd.cloudfront.net/images/screenshots/products/4/42/42990/ 3
8. (Activity) Travel diaries
How to collect them?
Traditionally - Users declare what they have done in a
survey, e.g., PP or CATI
Img: http://www.schoolsurveyexperts.co.uk/i/photos/paper_survey.jpg
4
9. (Activity) Travel diaries
How to collect them?
Traditionally - Users declare what they have done in a
survey, e.g., PP or CATI
New methods - E.g., GPS collection + Web and Mobile
GIS based interaction
4
10. (Activity) Travel diaries
How to collect them?
Traditionally - Users declare what they have done in a
survey, e.g., PP or CATI
New methods - E.g., GPS collection + Web and Mobile
GIS based interaction
4
11. “Any improvements made anywhere besides the
bottleneck are an illusion.” Gene Kim, The Phoenix Project
5
12. “Any improvements made anywhere besides the
bottleneck are an illusion.” Gene Kim, The Phoenix Project
Img: https://www.unitedsystemsok.com/resources/blog/
how-a-small-bottleneck-issue-can-significantly-hinder-network-performance
5
13. Bottlenecks in travel behaviour
There are two main bottlenecks in current travel behaviour
studies:
Lack of data (immediate bottleneck), and
Lack of relevant performance measures
6
14. Bottlenecks in travel behaviour
There are two main bottlenecks in current travel behaviour
studies:
Lack of data (immediate bottleneck), and
Lack of relevant performance measures
6
15. Addressing the data bottleneck
Making data collection widely available
MEILI-travel diary collection, annotation & automation system
MEILI Mobility Collector, which is a smartphone app
that collects trajectories fused with accelerometer
readings from users.
MEILI Travel Diary, which is a web app that allows
users to annotate trajectories into travel diaries.
MEILI Database, which is the database that stores both
the collected and annotated data.
MEILI API, which securely connects the Mobility
Collector and the Travel Diary to the Database.
MEILI AI, which is an Artificial Intelligence module that
automatically annotates the trajectories collected by
users.
7
17. Addressing the data bottleneck
How does MEILI help?
MEILI is useful because:
it collects travel diaries on a large scale
it has passed the prototype stage and it has been / is
being used in different projects (travel diary automation,
travel behaviour studies, logistics) in different places
(Stockholm, Gothenburg, Singapore)
its source code is available under an open source
(copyleft) license free for everybody to use
it has all the perks of automated and centralized data
collection
9
18. Addressing the data bottleneck
Data used by MEILI
MEILI makes use of two types of data:
primary (needed to generate travel diaries)
– GPS points (collected via smartphones)
– schema of travel modes (based on project specifications)
– schema of purposes (based on project specifications)
auxiliary (improve AI predictions / aid user selection)
– Destination Point of Interest datasets
– Transportation Point of Interest datasets
10
20. Deploying MEILI
One needs to take the following steps to deploy MEILI:
1. decide on hosting solution
2. decide on the travel modes and purpose schemas
3. create database according to the MEILI specifications
4. find auxiliary POI datasets
5. import auxiliary POI datasets in the MEILI database
according to specs
6. deploy web-app to the hosting solution
7. link database with web app
8. compile smartphone apps to point to the web host’s URLs
9. distribute smartphone apps and annotation website to
users / participants
12
21. Deploying MEILI
One needs to take the following steps to deploy MEILI:
1. decide on hosting solution
2. decide on the travel modes and purpose schemas
3. create database according to the MEILI specifications
4. find auxiliary POI datasets
5. import auxiliary POI datasets in the MEILI database
according to specs
6. deploy web-app to the hosting solution
7. link database with web app
8. compile smartphone apps to point to the web host’s URLs
9. distribute smartphone apps and annotation website to
users / participants
12
23. Simplifying MEILI deployment
What if...
1. decide on hosting solution
2. decide on the travel modes, and purpose schemas
3. create database according to the MEILI specifications
4. find auxiliary POI datasets
5. import auxiliary POI datasets in the MEILI database
according to specs
6. deploy web-app to the hosting solution
7. link database with web app
8. compile smartphone apps to point to the web host’s URLs
9. distribute smartphone apps and annotation website to
users / participants
14
24. Simplifying MEILI deployment
What if...
1. decide on hosting solution
2. decide on the travel modes, and purpose schemas
3. pipeline web-app deployment, database creation and POI
extraction
4. link database with web app
5. compile smartphone apps to point to the web host’s URLs
6. distribute smartphone apps and annotation website to
users / participants
14
28. Simplified deployment
A sequence of scripts
1. Download POI datasets from OSM using the Overpass
API via wget
2. Insert the downloaded POI datasets using osm2pgsql
17
29. Simplified deployment
A sequence of scripts
1. Download POI datasets from OSM using the Overpass
API via wget
2. Insert the downloaded POI datasets using osm2pgsql
3. Map the inserted POIs to MEILI tables
17
30. Parameterized deployment of MEILI
New initialization script added that:
creates and enables a database with the tables and
schemas needed by MEILI
retrieves the auxiliary data needed by MEILI
– Destination Points of Interest
– Transportation Points of Interest
runs the unit and integration tests
aids users in setting up the database connection in the
webapp
18
31. Example
To set up MEILI’s backend, run the following commands:
$ git clone git://github.com/Badger-MEILI/MEILI-Travel-Diary.git
$ cd MEILI-Travel-Diary/MEILI_Travel_Diary/
$ npm run init_meili_with_zone -- --namedb=meili_test_stockholm
--username=postgres --hostdb=localhost --min_lat=59.0836
--min_lon=17.3584 --max_lat=59.8352 --max_lon=18.9679
19
32. Example
To set up MEILI’s backend, run the following commands:
$ git clone git://github.com/Badger-MEILI/MEILI-Travel-Diary.git
$ cd MEILI-Travel-Diary/MEILI_Travel_Diary/
$ npm run init_meili_with_zone -- --namedb=meili_test_stockholm
--username=postgres --hostdb=localhost --min_lat=59.0836
--min_lon=17.3584 --max_lat=59.8352 --max_lon=18.9679
19
33. Example
To set up MEILI’s backend, run the following commands:
$ git clone git://github.com/Badger-MEILI/MEILI-Travel-Diary.git
$ cd MEILI-Travel-Diary/MEILI_Travel_Diary/
$ npm run init_meili_with_zone -- --namedb=meili_test_stockholm
--username=postgres --hostdb=localhost --min_lat=59.0836
--min_lon=17.3584 --max_lat=59.8352 --max_lon=18.9679
At this stage, MEILI is fully functional, if you also want to
test the web app, modify the routes/database.js file run:
$ npm start
20
38. POI data sources
Chose OSM because:
data are available world-wide
well documented APIs
you do not inherit extra costs
data are updated constantly
Special considerations:
Sometimes the OSM data quality (crowd source) or
coverage is insufficient for your project
– We decided to let users add their own POIs
– During one case study we had another data set for
transportation stations in a region of Stockholm and it was
troublesome to remove duplicates
For surveys over long periods of time (months / years),
you need to have a strategy for getting the updates from
upstream OSM
23
39. Summary
Introduced a strategy to easily deploy systems dependent
on auxiliary POI data to any place where OSM data is
available (and sufficient)
The strategy was shown for MEILI, an (semi-)automated
travel diary collection system
– it makes it easier to get MEILI up and running
– MEILI can be used anywhere now without overhead by:
relying on the availability of OSM data and crowd
sourced data inserted by case study participants
replacing / complementing OSM datasets with
proprietary / other data sets
running MEILI without any POI dataset
Illustrated the need of a good design and architecture for
travel diary collection systems.
24
40. Future work
Find an easy way to take in a schema of types of POI as
input
Find contributors and research advocates for MEILI
Identify the next bottlenecks for new users of MEILI (next
bottleneck is the smartphone apps recompilation and
deployment)
UI / UX improvements are needed
What features would make MEILI more useful?
25
41. References
Source code for MEILI https://github.com/Badger-MEILI
For publications on MEILI, see
http://adrianprelipcean.github.io/publications.html
For presentations on MEILI, see
https://www.slideshare.net/AdrianCPrelipcean
Other Open Source projects relevant for this presentation:
– PostgreSQL – https://www.postgresql.org/
– PostGIS – http://www.postgis.net/
– OSM – https://www.openstreetmap.org
– osm2pgsql –
https://github.com/openstreetmap/osm2pgsql
– Overpass API – http://overpass-api.de/
– Many others that MEILI is built on...
26
42. Thank you for your attention!
Questions and Discussions
Adrian C. Prelipcean
CTO, Airmee
Phd Student in Transport Science
KTH, Royal Institute of Technology
http://adrianprelipcean.github.io/
acpr@kth.se
@Adi Prelipcean
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.