Workarounds in Public Transit Modelling with EMME and Perl Matt Carlson & John Armstrong 12 th October 2007 21 st International EMME Conference, Toronto.

Slides:



Advertisements
Similar presentations
Introduction to TransXChange
Advertisements

AD User Import From SIMS.NET
This is my “focus” slide, used to make sure that I’m getting the sharpest possible picture on the projection screen. It is the 1954 Freeway Plan for the.
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Presented by: Pascal Volet, ing. October 11,2007 Application of Dynameq in Montréal: bridging the gap between regional models and microsimulation Application.
The SoCoMMS Model Paul Read Dan Jones. The Presentation Outline of the Study The Modelling Framework Accessibility Model.
Creating Shareable Models By: Eric Hutton CSDMS - Community Surface Dynamics Modeling System (pronounced ˈ s ɪ stəms) Image by Flickr user Let There Be.
Guide To UNIX Using Linux Third Edition
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
THE PLANET99 MODEL DEMAND AND REVENUE FORECASTING TOOL FOR RAIL OPERATORS 8th EUROPEAN EMME/2 USERS CONFERENCE Jeremy Douch GIBB Transport Planning May.
An Overview of MultiModal & MultiRail ®. 2 MultiRail is produced by MultiModal Applied Systems. Background information:  Founded in Princeton, USA, in.
Network and Dynamic Segmentation Chapter 16. Introduction A network consists of connected linear features. Dynamic segmentation is a data model that is.
Bring Back the Tram! Steve Miller Transport for London.
Source: NHI course on Travel Demand Forecasting (152054A) Session 10 Traffic (Trip) Assignment Trip Generation Trip Distribution Transit Estimation & Mode.
RAILWAY INDUSTRY TRAIN PLANNING LEVEL 2 TRAINING Module 9 - The TOCs and Network Rail.
A Spatial Analysis of Orange Line Rider Demographics November 1, 2012By Tamar Sarkisian.
Calculating Transportation System User Benefits: Interface Challenges between EMME/2 and Summit Principle Author: Jennifer John Senior Transportation Planner.
MySQL + PHP.  Introduction Before you actually start building your database scripts, you must have a database to place information into and read it from.
Introduction to Python
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
Modelling of Trips using Strategic Park-and-Ride Site at Longbridge Railway Station Seattle, USA, Oct th International EMME/2 Users Conference.
Developing a ‘Rapid’ Strategic Land-Use and Transport Policy Model using EMME/2 Marwan AL-Azzawi Senior Transport Planner PDC Consultants, UK Also at Napier.
Business Logistics 420 Public Transportation Lecture 20: Transit System Design.
Guide to Programming with Python Chapter Seven (Part 1) Files and Exceptions: The Trivia Challenge Game.
Rochdale Key Centre Analysis 1 This PowerPoint presentation has been created to accompany GMTU Report 998 – GMATS Rochdale Key Centre report Whereas report.
Automated Plotting with the Emme Desktop API Peter Hidas Bureau of Transport Statistics Transport NSW.
Pragmatic Annotation & Analysis in DART Martin Weisser School of English & Education Guangdong University of Foreign Studies martinweisser.org.
Intersection Design Spring 2015.
Wigan Key Centre Analysis 1 This PowerPoint presentation has been created to accompany GMTU Report 1001 – GMATS Wigan Key Centre report Whereas report.
1 More PT with less money – Budget cuts as an opportunity Workshop EMTA – Vienna, October 11th 2013 David van der Spek – Stadsregio Amsterdam.
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY San Francisco’s Dynamic Traffic Assignment Model Background SFCTA DTA Model Peer Review Panel Meeting July.
EDIMatrix Ltd 1997 DMX Overview SEMA Infodata Nov 1997.
Railway Operations: Issues and Objectives Capacity management Infrastructure planning Timetable preparation Management of day-to-day movement of trains.
D. M. Akbar Hussain: Department of Software & Media Technology 1 Compiler is tool: which translate notations from one system to another, usually from source.
Cohesion and Coupling CS 4311
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY DTA Anyway: Code Base & Network Development Lisa Zorn DTA Peer Review Panel Meeting July 25 th, 2012.
Transport Accessibility Analysis with ENIF and Railplan Matt Carlson, ArupSteve Miller, Transport for London.
Stockport Key Centre Analysis 1 This PowerPoint presentation has been created to accompany GMTU Report 947 – GMATS Stockport Key Centre report Whereas.
MATRIX ADJUSTMENT MACRO (DEMADJ.MAC AND DEMADJT.MAC) APPLICATIONS: SEATTLE EXPERIENCE Murli K. Adury Youssef Dehghani Sujay Davuluri Parsons Brinckerhoff.
Combining EMME/2 and ArcView GIS: The CAPITAL Model Case Study.
Microsoft® Excel Key and format dates and times. 1 Use Date & Time functions. 2 Use date and time arithmetic. 3 Use the IF function. 4 Create.
Performance Benchmarks in EMME/2 Matt Carlson INRO Seminar, Arup, London
WDDX Case Study: Building a Cross CFUG Search April Fleming.
Files Tutor: You will need ….
Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before you program Rule 2: A program is a human-readable set.
OCR Software Architecture for Embedded Device Seho Kim', Jaehwa Park Computer Science, Chung-Ang University, Seoul, Korea
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
June 6-7, th European EMME/2 Users' Group Conference Madrid Measuring the quality of public transit system Tapani Särkkä/Matrex Oy Mervi Vatanen/Helsinki.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
GEOPAK for Construction. Instructors Kevin Vollet (573) Bill Politte (573) Alexa Mitchell(573)
Chapter – 8 Software Tools.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report/Presentation Closing.
An automated framework to derive model variables from open transport data using R, PostgreSQL and OpenTripPlanner. Marcus Young
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
Introduction GIS often represent spatial information with a two-dimensional x,y coordinate system. Some data linearly measured. In order to use the information.
Development of an Open Matrix Emme Integration Tool
Introduction to LabVIEW
Features of Authoring Tools
Visualizing on Transit Networks Capacity, Crowding & Reliability
CMSC201 Computer Science I for Majors Lecture 22 – Binary (and More)
Containers and Lists CIS 40 – Introduction to Programming in Python
Karen Tsang Bureau of Transport Statistics Department of Transport
Routing and Logistics Arc Routing 2018/11/19.
TransCAD Vehicle Routing 2018/11/29.
Introduction to LabVIEW
Fundamentals of Data Structures
Introduction to LabVIEW
Network Analyst – Automating Workflows with Geoprocessing
CS203 Lecture 15.
Presentation transcript:

Workarounds in Public Transit Modelling with EMME and Perl Matt Carlson & John Armstrong 12 th October st International EMME Conference, Toronto

Contents Introduction to need for workarounds Case Studies EMME Wish Lists

Introduction EMME – Established in the UK in large public transport models: Railplan (Transport for London) Docklands Public Transport Model (Docklands Light Railway, London) PLANET (Department for Transport) However, there are cases where additional tools are needed in addition to EMME: Processing electronic timetable data for rail services input to EMME ‘Cleaning up’ EMME outputs of transit lines Reversing of EMME transit lines Hence scripting languages used

Scripting Languages AWK used with EMME/2 for decades Python used increasingly with Emme 3 Perl used recently in Arup Doesn’t matter too much: just need to get the job done

Case Study 1 – Exporting EMME Transit Lines No matter how ‘readable’ the data is when imported to EMME, it is exported like this… Awkward spacing No ‘clues’ about nodes (multiple 6-digit nodes at stations don’t easily convert to unique and readable 4 character labels)

Step 1 Remove carriage returns where us3 values are ‘orphaned’ on to new lines

Step 2 Read all elements from the tidier file… …and re-export desired data with Names

Wish List 1 To be able to choose which data is exported by EMME, including Database attributes

Case Study 2 – Reversing Transit Lines INRO has included a facility in the network editor for reversing lines interactively, but what if: 1.An entire network needs to be transposed (such as to create a PM network from an AM)? 2.The reverse journeys required different nodes? Use a script to reverse the lines

Example Network – DLR

Example Network (Inset) Note separate nodes by direction To enable line-to-line interchange movements at complex stations

Reverse Lines Use a script to read a ‘tidied’ output: Input all values into an array Export in reverse order Look up opposite node

Wish List 2 Splitting of stations into so many nodes would be un-necessary if line-to-line transfer information was more easily extracted Currently there is a need to re-code the network with one node per line and extract the line-to-line data (as transfer.mac* and transfer.awk*) Perhaps if something similar to auto turn movements for transit were output at the end of an assignment… * See transfer.zip by Heinz Spiess at

Case Study 3 – Processing Transit Line Data Railplan Model (Rail, Metro, Tram, Bus) Rail is more complicated: Stopping patterns vary, Trains join and split, Timetables change more frequently Other modes simple by comparison Usually headways only difference Need an automated approach

Data Sources 1 – Network Rail CIF Network Rail use a ‘Common Interface Format’ (CIF) This contains all rail movements in a given timetable period including Freight Trains Empty stock movements 3 Million+ Lines Cryptic Format Example: Manchester-London

Data Sources 2 – Issues Very little vehicle information E.g. EMU 125mph – data suited to train pathing not passenger use No capacity information (4/8/12 car???) Need to convert to multiple station nodes Need to convert to transit line codes

Methods - Software Perl is used Perl = Practical Extraction and Reporting Language Open Source Cross Platform

Methods - Overview 1.Extract subset of ‘relevant’ trains from CIF; 2.For ‘relevant’ trains extract the subset of ‘relevant’ nodes required; 3.Look up ‘relevant’ nodes dependent on direction and TOC; 4.Subtract journey times between ‘relevant’ nodes; 5.Aggregation of identical lines; 6.Allocate a Railplan service code to each line; 7.Assign Vehicle Types; 8.Export in Railplan format; 9.Import to EMME 10.Harmonise times & Fix Join-Split

1 - Extract subset of ‘relevant’ trains from CIF Is a passenger service Not freight or empty stock Is in a relevant TOC Runs in the south east of the UK Is within the correct time period Passes most important station between 7-10am / 10am-4pm

2 - For ‘relevant’ trains extract the subset of ‘relevant’ nodes required Skeletal nature of model means stops near edge of model are ignored

3 - Look up ‘relevant’ nodes dependent on direction and TOC Stations are often split into separate nodes by direction Note: 4 nodes at Raynes Park 7 nodes at Waterloo

4 - Subtract journey times between ‘relevant’ nodes The journey time is stored in us3 This avoids problems with times for ‘irrelevant’ nodes i.e. subtract the times between modelled nodes after discarding ‘irrelevant’ nodes

5 - Aggregation of identical lines Lines with identical stopping patterns are aggregated This includes: noboa noali

6 - Allocate a Railplan service code to each line Lines are named according to TOC, O-D Pair, Direction

7 - Assign Vehicle Types Vehicles are assigned according to: TOC Timetabled Type Speed

8 - Export in Railplan format Note: Non-interpolated times

9 - Import to EMME Interpolate us3 times with splitime.mac Reset noboa and noali flags from us1 and us2 This allows splitime to work with ‘timing points’ as well as stops

10 – Modify in EMME Harmonise times for common stop-stop sections Fix join-split times

10a – Harmonise Times All Stop-to-Stop pairs are consistent and rounded to an integer us3 Including common Stop-to-Stop pairs on different routes

10b – Fix Join-Split Times Sections ‘x’ minutes long where trains stop at a dummy node are: x-0.01 minutes on main leg 0.01 minutes on dummy leg

Transit Lines are Output (as Case Study 1) Transit Lines exported: Node Names shown for clarity us3 times interpolated and ‘bucket-rounded’ to 2 d.p. Un-necessary info (us1, us2) removed from file.

Wish List 3 To model join-split trains as a single line, e.g. Y-shape To be able to view transit lines in terms of stop-stop times, not node-node times: Similar to configurable attributes Underlying segment data could still be stored as now

Conclusions Various tedious or tricky operations are made possible by use of a scripting language Learning a scripting language pays off very quickly

Matt Carlson Arup 13 Fitzroy Street London W1T 4BQ UK linkedin.com/in/mattcarlson linkedin.com/in/mattcarlson