This web-based visualiser was developed by request of ITDP México for it's campaign DOTDF in order to add facts backed up on science and data to the discussion around the public transport infrastructure in Mexico City in terms of how it's topology benefits the different socioeconomical groups of people that live in the city and it's surroundings and also as an space to present proposals towards the next corridors of public transport the city should build in the following years.
You can take a look at the visualiser running on this video: https://youtu.be/HlYY_s3d_ZY
Some additional pictures of the main features:
This application is a web-based application based on the Ruby on Rails framework on it's version 4.0 and the PostgreSQL database. The version of Ruby recommended is ruby-1.9.3, Ruby is the programming language on which this web-based visualiser is written.
The application, as of the writing of this document, consists on two groups of layers that work on a different aspects of what is seen above the map visualisation:
- The AGEBS layer which has to be imported on the database and then be pre-processed. An AGEB is the most basic geostadistical area according to the INEGI.
- The Radius layers with ranges 500, 800, 1000 and 2000 meters contain geostadistical information relevant to each one of the public transportation stops displayed on the map. The information is shown per station when hovering on it. The data is structured under the
radiusdirectory.
For getting the visualisation running, follow the steps below:
- Install the right Ruby version:
rvm install ruby-1.9.3-p551(RVM is a tool for managing different versions ofRuby) - Fetch the required dependencies
bundle install. Make sure you are running this command under the ruby version installed above. Check commandrvm usefor more information. - Prepare the database by updating the details of your database setup in
config/database.ymlunder Production or Development environment, depending on your needs. - From the root directory of this project run the following script:
sh lib/import.sh src/shapes/agebs/AGEBs.shp <table_name> <database_name> <user_name_in_database_realm> - Wait until the script has finished: You should see in the last lines a message counting
"Processed feature: 5664". If this is not the case, then make sure you have the commandshp2pgsqlavailable on your command line.
- Install the right Ruby version:
rvm install ruby-1.9.3-p551(RVM is a tool for managing different versions ofRuby) - Fetch the required dependencies
bundle install. Make sure you are running this command under the ruby version installed above. Check commandrvm usefor more information. - Prepare the database by updating the details of your database setup in
config/database.ymlunder Production or Development environment, depending on your needs. - Use the db_dump/bogo.sql file to restore the data from this file into the database you have configured in the previous step. Check the instructions for data restore in the PostgreSQL version you are using.
The main javascript file is welcome.js, on it is defined all the code that builds the user interaction with the application. Notice the var prod_server and var dev_server variables, also check the var default_server variable which points to either one of the former variables to switch the production URL, so that the ajax petitions issued to the remote server (production or development) are correctly working.